Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. root

    root Гость

    Для: [email protected]$
    Multimedia System (в народе просто MMSystem)
    подключается
    Код (Text):
    uses MMSystem;
     
  2. root

    root Гость

    Для: [email protected]$
    Задача какая ?
     
  3. Задача в том чтобы измерять уровень входящего звукового сигнала с аудио карты или ТВ-тюнера и отслеживать изменение его параметров.............

    Вот код который я нашёл.......
    Код (Text):
    uses
    MMSystem;

    function GetLineInHandle(AudioType: Integer): Integer;
    var
    i: Integer;
    AudioCaps: TAuxCaps;
    begin
    Result := 0;
    for i := 0 to auxGetNumDevs - 1 do
    begin
    auxGetDevCaps(i, @AudioCaps, SizeOf(AudioCaps));
    if AudioCaps.wTechnology = AudioType then
    begin
    Result := i;
    Break;
    end;
    end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    v: DWORD;
    begin
    AuxGetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), @v);
    Edit1.Text := IntToStr(LoWord(v));
    Edit2.Text := IntToStr(HiWord(v));
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var
    v: DWORD;
    begin
    v := MakeLong(Word(StrToInt(Edit1.Text)),
    Word(StrToInt(Edit2.Text)));
    AuxSetVolume(GetLineInHandle(AUXCAPS_CDAUDIO), v);
    end;

    procedure TForm1.Button3Click(Sender: TObject);
    var
    v: DWORD;
    begin
    AuxGetVolume(GetLineInHandle(AUXCAPS_AUXIN), @v);
    Edit3.Text := IntToStr(LoWord(v));
    Edit4.Text := IntToStr(HiWord(v));
    end;

    procedure TForm1.Button4Click(Sender: TObject);
    var
    v: DWORD;
    begin
    v := MakeLong(Word(StrToInt(Edit3.Text)),
    Word(StrToInt(Edit4.Text)));
    AuxSetVolume(GetLineInHandle(AUXCAPS_AUXIN), v);
    end;



    вроде ничего сложного, но он по-моему не работает........
    помогите в нём разобраться.....
    есть ли более оптимальные альтернативы..............




    P.S. Только быстрее плиз........
    Заранее благодарен
     
  4. root

    root Гость

    Для: [email protected]$
    Код (Text):
    procedure TForm1.FormCreate(Sender: TObject);
    var
    i: integer;
    cap: TWaveInCaps;
    begin
    for i := 0 to waveInGetNumDevs do
    begin
    waveInGetDevCaps(i, Addr(cap), SizeOf(cap));
    ListBox1.Items.Add(cap.szPname )
    end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    vol: longint;
    ll, lr: integer;
    begin
    waveOutGetVolume( ListBox1.ItemIndex, @Vol);
    ll:= (vol shr 16) +1000;
    lr:= ((Vol shl 16) shr 16)+1000;
    waveOutSetVolume (ListBox1.ItemIndex,ll shl 16 + lr );
    end;
     
  5. На какое устройство рассчитано...........
    На линеёный вход аудиокарты?
    Я проверяю так: подключился через линейный вход аудиокарты видиком и просматриваю кассеты......
    Звук с него выдаёт нормально.......
    Но вот чего-то ничего не выносит в ListBox


    ТВ-карту достать не получилось......
     
Загрузка...
Похожие Темы - Измерение звука
  1. Screamer
    Ответов:
    1
    Просмотров:
    1.336
  2. diod_
    Ответов:
    19
    Просмотров:
    7.677
  3. aelfa
    Ответов:
    0
    Просмотров:
    5.873
Статус темы:
Закрыта.

Поделиться этой страницей