2010-09-28 3 views
3

Я написал небольшую программу, которая проверяет библиотеку 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.

+3

Мой опыт работы с ALSA - это боль из-за ошибок в коде. Я бы сначала обновил libs до последней версии, а затем повторил попытку. –

+1

Мой опыт работы с ALSA - боль – dreamlax

ответ

1

У меня были некоторые подобные проблемы, не использующие alsa-lib. Но с alsa i и ubuntu ts self. Я нашел кропотливо пройдя через драйверы и тестируя их, чтобы быть лучшим вариантом, также используя что-то вроде speaker-test -c2 -twav, чтобы быть большой помощью. Что касается реализации вашей сальсы, я не вижу ничего, на что можно смотреть. Но я боюсь, что без дополнительной информации я не могу больше помочь.

Смежные вопросы