Я написал небольшую программу, которая проверяет библиотеку ALSA на плате Embedded Linux. Программа настраивает ALSA, воспроизводит один звук, а затем ждет 1 минуту перед выходом.ALSA: проблема с петлевым звуком
Вот что я наблюдаю: после воспроизведения звука происходит молчание, а затем снова воспроизводится звук. Я на 100% уверен, что сама программа не воспроизводит ее снова.
Чтобы продолжить расследование, я сделал еще один эксперимент: с игрой на той же доске я сыграл другой звук. Это отлично работает. Затем я снова выполнил мировую программу. На этот раз в дополнение к периодическому звуку, я слышал остатки другого звука, воспроизводимого aplay.
Я подозреваю, что буфер в alsa-lib или звуковой драйвер не очищается. Или что я, возможно, не настроил программный параметр правильно. snd_pcm_dump выкладывает следующую информацию:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 8000
exact rate : 8000 (8000/1)
msbits : 16
buffer_size : 32768
period_size : 2048
period_time : 256000
tstamp_mode : NONE
period_step : 1
avail_min : 2048
period_event : 0
start_threshold : 1
stop_threshold : 32768
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Я должен также упомянуть, что я не вижу это как я запустить его под Ubuntu.
Мой опыт работы с ALSA - это боль из-за ошибок в коде. Я бы сначала обновил libs до последней версии, а затем повторил попытку. –
Мой опыт работы с ALSA - боль – dreamlax