Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.29;
Скачать: CL | DM;

Вниз

Звуковая карта   Найти похожие ветки 

 
darha ©   (2002-04-23 21:59) [0]

Помогите, пожалуйста! Есть ли у кого процедура, которая могла бы определить наличие звуковой карты на компьютере, чтобы исключить ошибку, при выполнения воспроизведения звукового файла. Заранее спасибо!


 
Anatoly Podgoretsky ©   (2002-04-23 22:23) [1]

waveOutGetNumDevs


 
Sergo ©   (2002-04-24 16:47) [2]

Вот примерный код:

uses Windows, MMSystem;
type
TModeDescr=record
mode: DWORD; // код режима работы
descr: string[32]; // словесное описание
end;

const
// массив содержит сопоставления режима работы и словесного описания
modes: array [1..12] of TModeDescr=((mode: WAVE_FORMAT_1M08; descr:"11.025 kHz, mono, 8-bit"),
(mode: WAVE_FORMAT_1M16; descr:"11.025 kHz, mono, 16-bit"),
(mode: WAVE_FORMAT_1S08; descr:"11.025 kHz, stereo, 8-bit"),
(mode: WAVE_FORMAT_1S16; descr:"11.025 kHz, stereo, 16-bit"),
(mode: WAVE_FORMAT_2M08; descr:"22.05 kHz, mono, 8-bit"),
(mode: WAVE_FORMAT_2M16; descr:"22.05 kHz, mono, 16-bit"),
(mode: WAVE_FORMAT_2S08; descr:"22.05 kHz, stereo, 8-bit"),
(mode: WAVE_FORMAT_2S16; descr:"22.05 kHz, stereo, 16-bit"),
(mode: WAVE_FORMAT_4M08; descr:"44.1 kHz, mono, 8-bit"),
(mode: WAVE_FORMAT_4M16; descr:"44.1 kHz, mono, 16-bit"),
(mode: WAVE_FORMAT_4S08; descr:"44.1 kHz, stereo, 8-bit"),
(mode: WAVE_FORMAT_4S16; descr:"44.1 kHz, stereo, 16-bit"));
procedure ShowInfo;
var
WaveNums, i, j: integer;
WaveInCaps: TWaveInCaps; // структура в которую помещается информация об устройстве
begin
WaveNums:=waveInGetNumDevs;
if WaveNums>0 then // если в системе есть устройства аудиоввода,то
begin
for i:=0 to WaveNums-1 do // получаем характеристики всех имеющихся устройств
begin
waveInGetDevCaps(i,@WaveInCaps,sizeof(TWaveInCaps));
// добавляем наименование устройства
MainForm.Memo.Lines.Add(PChar(@WaveInCaps.szPname));
for j:=1 to High(modes) do
begin
// выводим поддерживаемые устройством режимы работы
if (modes[j].mode and WaveInCaps.dwFormats)=modes[j].mode then
Memo.Lines.Add(modes[j].descr);
end;
end;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2002.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-95789
Андрусь
2002-08-19 19:27
2002.08.29
Как програмно поменять раскладку клавиатуры.


4-96022
HighWay
2002-06-25 20:13
2002.08.29
Как вызвать событие в другом приложении?


14-95952
igorr
2002-08-03 05:51
2002.08.29
Склонение фамилий *юк, *ук


3-95676
Chak
2002-08-08 13:06
2002.08.29
Чтото, я не догоняю!! RecordCount - равно всегда -1!!


3-95639
Gunya
2002-08-07 16:01
2002.08.29
Как удалить (не пометить, а совсем) запись в используемом dbf ?