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

Вниз

Звук (ошибка)   Найти похожие ветки 

 
MIA   (2004-04-20 21:17) [0]

Извеняюсь....
Долго лазил в инете и читал хелпы по теме вывод/ввод звука..
При открытии waveOutOpen, она возвращает 0(в пошаговой оладке)... т.е. всё окей, но если вызывается результат на проверку... возникает ошибка...
Проверял на двух компах 2000 и ХРю..
Где не доглядел...

uses MMSystem;  
procedure TForm1.Button12Click(Sender: TObject);
var
 f1: Cardinal;
 f: PHWaveOut;
 str: PWaveFormatEx;
begin
 FillChar(str, SizeOf(PWaveFormatEx), 0);

 str.wFormatTag := WAVE_FORMAT_PCM;
 str.nChannels := 1;
 str.nSamplesPerSec := 22050;
 str.wBitsPerSample := 16;
 str.nAvgBytesPerSec := 176400;
 str.nBlockAlign := 4;
 //открытие устройства воспроизведения
 f1 := waveOutOpen(f, WAVE_MAPPER, str, 0, 0, WAVE_ALLOWSYNC);
 if f1 = MMSYSERR_NOERROR then
   begin
     ShowMessage("");
   end;
end;


 
Evgeny V ©   (2004-04-21 07:05) [1]

str.nBlockAlign := 4????
nBlockAlign:=nChannels * wBitsPerSample div 8 для WAVE_FORMAT_PCM у тебя  -> 1*16/8=2 , соответственно надо пересчитать
nAvgBytesPerSec:=nSamplesPerSec * nBlockAlign(тоже странное число у тебя). Про флаг WAVE_ALLOWSYNC к сожалению сказать не могу, не пользовался, обычно открываю устройство в режиме сообщений для окна, или в режиме вызова callbak функции



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

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

Наверх




Память: 0.46 MB
Время: 0.029 c
1-1087816507
Andr999
2004-06-21 15:15
2004.07.04
RXLIB


3-1086538714
gfr
2004-06-06 20:18
2004.07.04
Как сделать Секундомер


1-1087821341
Bulgar
2004-06-21 16:35
2004.07.04
Работа с текстовыми файлами


6-1081291796
LanCoder
2004-04-07 02:49
2004.07.04
Отправка почты с помощью winsock


1-1087573200
killer
2004-06-18 19:40
2004.07.04
Вставлять изображение (bmp) справа строки ListBox-а