Android: ошибка pcm_open не может открыть устройство '/dev/snd/pcmC0D1p'

Кастомное аппаратное обеспечение работает под управлением Android с установленными аудио драйверами.

Простое приложение для Android создано для воспроизведения звука с помощью медиаплеера, приложение протестировано на эмуляторе, поэтому оно работает точно.

При запуске устройства на оборудовании сообщение об ошибке от logcat много раз отображает следующее:

01-01 01:09:16.355    2792-3186/? E/audio_hw_primary﹕ pcm_open(PCM_CARD) failed: cannot open device '/dev/snd/pcmC0D1p': No such file or directory
01-01 01:09:16.375    2792-3186/? E/audio_hw_primary﹕ pcm_open(PCM_CARD) failed: cannot open device '/dev/snd/pcmC0D1p': No such file or directory
01-01 01:09:16.435     2792-375/? E/AudioSink﹕ received unknown event type: 1 inside CallbackWrapper !

в /dev/snd/ есть

controlC0
pcmC0D0c
pcmC0D0p
timer

Я могу воспроизводить системные уведомления без проблем. Я мог бы также взломать проблему, создав символическую ссылку pcmC0D1p, указывающую на pcmC0D0p, и она работает. Почему андроид пытается воспроизвести несистемную звуковую дорожку на pcmC0D1p? Кто контролирует, на какой выход идет?

2 ответа

pcmC0D1p средства:

pcm
Card 0
Device 1
Capture/Playback p

Понятно, что к какому бы узлу не обращалось ваше приложение, его нет, как видно из вашего ls /dev/snd/,

Обычно, если вы воспроизводите нестандартные звуки, такие как mp3-файлы, запись в AudioTrack будет обрабатывать все.

Если вы видите только один узел воспроизведения, выполнив ls /dev/snd, это означает, что у вас есть только один узел воспроизведения, который, я думаю (хотя и не уверен), занят для стандартных звуков андроида.

Если устройство "pcmC0D1p" присутствует в /dev/snd затем попробуйте дать разрешение с командой

chmod 777 /dev/snd/pcmC0D1p

Если он все еще не работает, эта звуковая карта недоступна.

Другие вопросы по тегам