Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:pcm#U打开失败无法打开设备'/dev/snd/pcmC0D1p';_Android_Linux Kernel_Linux Device Driver_Embedded Linux_Tinyalsa - Fatal编程技术网

Android:pcm#U打开失败无法打开设备'/dev/snd/pcmC0D1p';

Android:pcm#U打开失败无法打开设备'/dev/snd/pcmC0D1p';,android,linux-kernel,linux-device-driver,embedded-linux,tinyalsa,Android,Linux Kernel,Linux Device Driver,Embedded Linux,Tinyalsa,一个定制的硬件正在运行安装了音频驱动程序的Android 创建了一个简单的Android应用程序,使用media player播放一些音频,该应用程序在模拟器上进行了测试,因此它确实可以工作 在硬件上运行设备时,来自logcat的错误消息多次显示以下内容: 01-01 01:09:16.355 2792-3186/? E/audio_hw_primary﹕ pcm_open(PCM_CARD) failed: cannot open device '/dev/snd/pcmC0D1p':

一个定制的硬件正在运行安装了音频驱动程序的Android

创建了一个简单的Android应用程序,使用media player播放一些音频,该应用程序在模拟器上进行了测试,因此它确实可以工作

在硬件上运行设备时,来自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上播放非系统音轨?谁在控制它发送到哪个输出?

pcmC0D1p
表示:

pcm
Card 0
Device 1
Capture/Playback p
显然,通过
ls/dev/snd/
可以看出,应用程序正在访问的节点并不存在

通常情况下,如果你播放的是mp3文件等非标准声音,那么向其写入内容将处理一切

如果您通过执行
ls/dev/snd
只看到一个播放节点,这意味着您只有一个播放节点,我认为(虽然不确定)标准android声音占用了该节点。

如果
/dev/snd
中存在“pcmC0D1p”设备,则尝试使用命令授予权限

chmod 777/dev/snd/pcmC0D1p

如果仍不工作,则此声卡不可用。

pcmC0D1p
是第一个声卡的第二个PCM设备。为什么Android会尝试访问它是一个只有配置了这个硬件的人才能回答的问题。