Re[3]: проигрывание WAV файла средствами windows API
От: Аноним  
Дата: 07.11.05 10:43
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, metaller, Вы писали:


M>>waveOut и есть простой способ. Просто нужно использовать несколько буферов.


А>Использование нескольких буферов это понятно, я так и делаю. Но для этого надо отслеживать обратную связь с окончанием проигрывания буферов.

А>Самый простой способ играть звук waveOut это: запускаем таймер (предположим на 100 милисекунд) и посылаем сэмплы по 100 милисекунд. С начала все будет работать, но — потом звук начнет щёлкать на стыках сэмплов из-за пауз. Причина — рассинхронизация. Именно использование нескольких буферов и дает этот эффект. Бороться с ней не просто. Можно конечно посылать через 99 милисек 100 милисек сэмплы и прочие хитрости, но все это криво Хотелось бы делать все правильно.

Бороться с ними просто. Надо в очередь добавлять больше одного буфера (два как минимум) и в коллбеке добавлять следующий. Щелчков не будет. Ну а самый простой способ играть WAV-ы при помощи waveOut — делать один буфер размером с файл
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.