Есть плата SK-AT91SAM9G45 с кодеком AC97. Нужно считывать звук (pcm S16_LE) с микрофона и писать звук в аудио-выход (т.е. дуплекс). При использовании частоты 48 кГц все работает нормально. Если указать другую частоту (необходимы другие, меньшие частоты, например, 8 кГц), то возникают проблемы с воспроизведением (playback) звука. Создается впечатление, что на вход звук идет с нужной частотой, а на выход 48 кГц, не зависимо от выставленной частоты.
Такая же проблема возникает, если вместо моей программы использовать «стандартные» arecord и aplay. Т.е. при 48000 Гц все нормально, а при 8000 Гц в stdout пишутся строки underrun!!!
(Пример запуска arecord -r 8000 -f S16_LE | aplay -r 8000 -f S16_LE)
Версия библиотеки alsa 1.0.24.1
Версия ядра 3.2.23
dmesg пишет про аудио
atmel_ac97c atmel_ac97c.0: Atmel AC97 Controller at 0xc4830000, irq = 24
В своей программе я пытаюсь установить частоту 8 кГц через snd_pcm_set_params
(например, snd_pcm_set_params(playback, SND_PCM_FORMAT_S16_LE, SND_PCM_ACCESS_RW_INTERLEAVED, 1, 8000, 1, 25000). Функция отрабатывает успешно.
snd_pcm_dump выдает среди прочего
exact rate : 8000 (8000/1)
Ответ на:
комментарий
от waker
Ответ на:
комментарий
от nocomer
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Сконвертить PCM->DSD->PCM (2016)
- Форум Pulseaudio & PCM (2009)
- Новости Firefox 48 (2016)
- Форум Banshee gapless playback (2012)
- Форум cmus gapless-playback (2020)
- Форум Извлечение PCM 24/96 и DTS 24/48 5.1 с audio dvd (2007)
- Форум Alsa, PCM.!default, Steam (2013)
- Форум Счет 48/34 (2005)
- Новости Kernel Traffic #48 (1999)
- Форум Множится Pidgin: Playback stream (2012)