проигрывание WAV файла средствами windows API
От: ogo Россия  
Дата: 06.11.05 14:11
Оценка:
Добрый день,

Не могу найти способ просто и без хлопот проиграть аудио sample на заданное устройство в Windows.

Я пробовал это сделать двумя способами. Первый очень простой — PlaySound(MAKEINTRESOURCE(a_res_id), hInst, flags);
Все отлично работает но — нет способа задать выходное устройство А надо

Второй — использовал waveOut API. Декодируем звук в PCM (Или сразу его храним в ресурсах или файле как PCM). Задаем устройство используя информацию из waveOutGetDevCaps и открыая его через waveOutOpen.
Все отлично — но для очень коротких сэмплов.
Что нибудь мало мальски длинное (больше ~ 15 сек) или непрерывный повтор одного и того же сэмпла начнет щелкать. Причина рассинхронизация таймера системы используемого для посыла сэмпла в линию и таймера звуковой платы. Писать синхронизацию не хочу, это уже перебор.

Подскажите пожалуйста ПРОСТОЙ способ проигрывания аудио в Windows для заданного устройства.
Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.