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