Модуль BSound предназначен для проигрывания звуковых файлов, используемых
в Microsoft Windows 3.1 (.WAV), в программах на Turbo Pascal 6.0/7.0.
Звуки проигрываются в фоновом режиме из любого потока Turbo Vision
(обычная (только TP 7.0) и EMS память, файловые потоки). При использовании
файловых потоков требуется установить переменную SoundCheckDos:=True. Для
стандартных потоков TDosStream и TBufStream это делается автоматически.
Возможна подгрузка с диска во время проигрывания. Размер буфера подгрузки
задается в переменной SoundBufSize, которую можно изменять только при
остановленной музыке. Размер буфера может быть от 1 до 65520 байт, по
умолчанию - 1024 байта. При слишком маленьком буфере даже при подгрузке
из потока в памяти может появиться неприятное гудение.
Этот модуль поддерживает вывод на PC-Speaker, Sound Blaster, Covox на
LPT1 или LPT2. Куда выводится звук задает переменная SoundDevice, которая
может быть изменена в любой момент, даже во время проигрывания.
При вызове InitSound все переменные автоматически настраиваются на заданную
в заголовке звука частоту. Частоту можно установить и принудительно вызвав
SetRate после InitSound. Для разных частот требуется разное минимальное
быстродействие компьютера:
Частота (кГц) Быстродействие (относительно XT по SysInfo)
5.5 7
11.0 13
22.0 25
Указаны только стандартные частоты файлов .WAV, однако могут быть
проиграны и файлы других частот. Указаны минимальные требуемые быстродействия.
Для нормальной работы в фоновом режиме быстродействие должно быть немного
больше. В случае нехватке быстродействия звук замедляется, а остальная
программа почти полностью останавливается. К этому модулю прилагается пример
звука THANKYOU.WAV на 11 кГц. Значит, его можно надежно прослушать только при
быстродействии компьютера не менее 13 относительно XT.
К этому модулю прилагается утилита для преобразования инструментов
Scream Tracker или
|