Форум: "Система";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];
ВнизРабота со звуковыми платами. Пожалуйста помогите!!!!!!!!!! Найти похожие ветки
← →
maxfiles (2003-01-20 00:59) [0]Прошу помощи! Интересная ситуация.
Я пишу диплом, в этом дипломе необходимо получить список доступных звуковых плат (чтобы адресовать потоки звука). Предполагается что на одном компьютере имеются более 1 звуковой платы.
1) Как можно прочитать имена доступных аудиоплат
2) Как можно направить поток данных на конкретную звук. плату?
Пишу на Delphi.
Спасибо. Буду очень благодарен за помощь...
Очень прошу... Диплом горит...
Можно писать на мыло: themaxfiles@mail.ru
← →
Anatoly Podgoretsky (2003-01-20 01:17) [1]Насчет плат не знаю, но количество устройст получить просто
waveInGetNumDevs
waveOutGetNumDevs
← →
maxfiles (2003-01-20 01:21) [2]Да... проблемка. Немножко не то.
← →
Evgeny V (2003-01-20 04:57) [3]Когда используешь waveOutOpen там можно выбрать плату удовлетворяющую требуемуму формату или явно указав номер от 0 до N-1 (N -количество плат), подробнее в хелпе
← →
Nick_N_A (2003-01-20 05:59) [4]У винды нет такого понятия, как звуковая плата,
у него есть: (uses MMSystem)
DevCaps-данные_устройства / тип устройства
auxGetDevCaps ???
joyGetDevCaps - джойстик
waveInGetDevCaps устройства ввода wave
waveOutGetDevCaps устройства проигрования wave
midiInGetDevCaps
midiOutGetDevCaps
Списки я получал запросто.
← →
maxfiles (2003-01-20 07:34) [5]А как насчет направления звука на конкретную плату?
← →
Opuhshii (2003-01-20 10:41) [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 17:07) [7]Именно - направления звука на конкретную плату.
Допустим, на машине есть встроенный звук и звуковая карточка, необходимо 1 звуковой поток послать на встроенную плату, а 2 поток - на другую карточку.
Можно какой нибудь пример посеръезнее. Желательно из работающей программы. Очень буду благодарен. :)
← →
maxfiles (2003-01-21 00:16) [8]Так как на счет примера?
← →
Roman aka Bublik (2003-01-21 17:11) [9]вот кусок кода из проги которую пишу
пример заполняет комбобоксі именами аудио устройств
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; i<WaveNums; i++) {
WAVEINCAPS WaveInCaps;
waveInGetDevCaps(i, &WaveInCaps, sizeof(WAVEINCAPS));
int Ind = cbWaveInDevice->Items->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; i<WaveNums; i++) {
WAVEOUTCAPS WaveOutCaps;
waveOutGetDevCaps(i, &WaveOutCaps, sizeof(WAVEOUTCAPS));
int Ind = cbWaveOutDevice->Items->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;
← →
Roman aka Bublik (2003-01-21 17:16) [10]сходи лучше на http://www.iatp.md/virtualka/ch2.htm
там детально все описано
успехов
← →
maxfiles (2003-01-22 01:11) [11]Спасибо!!!!
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c