![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа со звуковыми платами. Пожалуйста помогите!!!!!!!!!! [D3, Win2k]
maxfiles © (2003-01-20 00:59:00)Прошу помощи! Интересная ситуация.
Я пишу диплом, в этом дипломе необходимо получить список доступных звуковых плат (чтобы адресовать потоки звука). Предполагается что на одном компьютере имеются более 1 звуковой платы.
1) Как можно прочитать имена доступных аудиоплат
2) Как можно направить поток данных на конкретную звук. плату?
Пишу на Delphi.
Спасибо. Буду очень благодарен за помощь...
Очень прошу... Диплом горит...
Можно писать на мыло: themaxfiles@mail.ru
maxfiles (2003-01-22 01:11:00) [1]Спасибо!!!!
Roman aka Bublik (2003-01-21 17:16:00) [2]сходи лучше на http://www.iatp.md/virtualka/ch2.htm
там детально все описано
успехов
Roman aka Bublik (2003-01-21 17:11:00) [3]вот кусок кода из проги которую пишу
пример заполняет комбобоксі именами аудио устройств
cbWaveInDevice и cbWaveOutDevice - TComboBox
AOptions - структура которая содержит поля WaveInDeviceID и WaveOutDeviceID
int WaveNums = waveInGetNumDevs();
if (WaveNums > 0) {
cbWaveInDevice->Items->AddObject("Default recording device", (TObject *)(WAVE_MAPPER));
for (int i=0; iItems->AddObject(WaveInCaps.szPname, (TObject *)(i));
if (i == AOptions->WaveInDeviceID) {
cbWaveInDevice->ItemIndex = Ind;
};
};
} else {
cbWaveInDevice->Items->AddObject("No devices found", (TObject *)(WAVE_MAPPER));
};
if (cbWaveInDevice->ItemIndex < 0)
cbWaveInDevice->ItemIndex = 0;
WaveNums = waveOutGetNumDevs();
if (WaveNums > 0) {
cbWaveOutDevice->Items->AddObject("Default playback device", (TObject *)(WAVE_MAPPER));
for (int i=0; iItems->Add(WaveOutCaps.szPname);
if (i == AOptions->WaveOutDeviceID)
cbWaveOutDevice->ItemIndex = Ind;
};
} else {
cbWaveOutDevice->Items->AddObject("No devices found", (TObject *)(WAVE_MAPPER));
};
if (cbWaveOutDevice->ItemIndex < 0)
cbWaveOutDevice->ItemIndex = 0;
maxfiles (2003-01-21 00:16:00) [4]Так как на счет примера?
maxfiles (2003-01-20 17:07:00) [5]Именно - направления звука на конкретную плату.
Допустим, на машине есть встроенный звук и звуковая карточка, необходимо 1 звуковой поток послать на встроенную плату, а 2 поток - на другую карточку.
Можно какой нибудь пример посеръезнее. Желательно из работающей программы. Очень буду благодарен. :)
Opuhshii (2003-01-20 10:41:00) [6]это то есть как? "направления звука на конкретную плату"?....
waveOutWrite(Handle of the waveform-audio output device,
Address of a WAVEHDR structure containing
information about the data block,
Size in bytes of the WAVEHDR structure )
или что-то иное?
а вообще смотреть там же,... Win32SDK\Multimedia API
maxfiles (2003-01-20 07:34:00) [7]А как насчет направления звука на конкретную плату?
Nick_N_A (2003-01-20 05:59:00) [8]У винды нет такого понятия, как звуковая плата,
у него есть: (uses MMSystem)
DevCaps-данные_устройства / тип устройства
auxGetDevCaps ???
joyGetDevCaps - джойстик
waveInGetDevCaps устройства ввода wave
waveOutGetDevCaps устройства проигрования wave
midiInGetDevCaps
midiOutGetDevCaps
Списки я получал запросто.
Evgeny V (2003-01-20 04:57:00) [9]Когда используешь waveOutOpen там можно выбрать плату удовлетворяющую требуемуму формату или явно указав номер от 0 до N-1 (N -количество плат), подробнее в хелпе
maxfiles (2003-01-20 01:21:00) [10]Да... проблемка. Немножко не то.
Anatoly Podgoretsky (2003-01-20 01:17:00) [11]Насчет плат не знаю, но количество устройст получить просто
waveInGetNumDevs
waveOutGetNumDevs