Форум: "Media";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизЗвук (ошибка) Найти похожие ветки
← →
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 вся ветка
Форум: "Media";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.039 c