ALSA: Как остановить и возобновить звук?

Мне нужно воспроизвести волновой файл несколько раз. Я не хочу вызывать API-интерфейсы настройки параметров аппаратного/программного обеспечения каждый раз, когда волновой файл воспроизводится снова.

{start...play wave partially...stop}, {start...play wave partially...stop},  {start...play wave partially...stop}, ... 

Какие API здесь использовать? Можно удалить невоспроизведенные кадры. Когда я проверил API alsa, я увидел множество похожих API приостановки/возобновления/остановки... Какая правильная комбинация для запуска и остановки звука для вышеуказанного варианта использования?


person Lunar Mushrooms    schedule 17.01.2013    source источник


Ответы (1)


После того, как устройство PCM было остановлено с помощью snd_pcm_drop, вы можете перезапустить его, вызвав snd_pcm_prepare, записав новые данные в буфер, а затем вызвав snd_pcm_start или используя автоматический запуск (который включен по умолчанию).

person CL.    schedule 17.01.2013