1

自定義一塊硬件正在運行安裝了音頻驅動程序的Android。Android:pcm_open失敗無法打開設備'/ dev/snd/pcmC0D1p'

一個簡單的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 

我能夠發揮系統通知沒有任何問題。我也可以通過創建一個指向pcmC0D0p的符號鏈接pcmC0D1p來解決這個問題,它可以工作。爲什麼Android試圖在pcmC0D1p上播放非系統音軌?誰在控制它的輸出?

+1

'pcmC0D1p'是第一張聲卡的第二個PCM設備。爲什麼Android會嘗試訪問它是一個問題,只有配置這個硬件的人才能回答。 –

回答

1

pcmC0D1p表示:

pcm 
Card 0 
Device 1 
Capture/Playback p 

顯然,無論是通過你的ls /dev/snd/看到您的應用程序訪問節點不存在。

通常情況下,如果您播放MP3文件等非標準聲音,請寫入AudioTrack,將處理所有內容。

如果您通過執行ls /dev/snd只看到一個播放節點,這意味着您只有一個播放節點存在,我認爲(不知道但是)是否被標準安卓聲音佔用。

0

如果「pcmC0D1p」設備存在於/dev/snd然後嘗試給予許可使用命令

chmod 777 /dev/snd/pcmC0D1p 

如果仍然沒有工作然後這個聲卡不可用。

相關問題