我正在尝试在 STM32F7 emcraft 开发板上运行的 uclinux 上运行 aplay,该板连接到 USB 声卡,当尝试使用 aplay 播放音频文件时,扬声器没有任何声音,我正在运行的命令是
aplay -D hwplug:2,0 audio.wav
输出是
播放 WAVE 'audio.wav':有符号 16 位 Little Endian,速率 16000 Hz,单声道
并且什么都没有播放,当音频长度约为半秒时,它应该慢得多,应该是 2 秒左右。
尝试default:CARD=Device
获取下一个错误时
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) 无法创建 IPC shm 实例
并 front:CARD=Device,DEV=0
得到这个
aplay: set_params:1087: 频道数不可用
所以唯一工作但没有声音的设备是“plughw:2”
aplay -L 的输出是:
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=Dummy
Dummy, Dummy PCM
Default Audio Device
sysdefault:CARD=Dummy
Dummy, Dummy PCM
Default Audio Device
default:CARD=Loopback
Loopback, Loopback PCM
Default Audio Device
sysdefault:CARD=Loopback
Loopback, Loopback PCM
Default Audio Device
default:CARD=Device
USB Audio Device, USB Audio
Default Audio Device
sysdefault:CARD=Device
USB Audio Device, USB Audio
Default Audio Device
front:CARD=Device,DEV=0
USB Audio Device, USB Audio
Front speakers
surround40:CARD=Device,DEV=0
USB Audio Device, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=Device,DEV=0
USB Audio Device, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Device,DEV=0
USB Audio Device, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Device,DEV=0
USB Audio Device, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Device,DEV=0
USB Audio Device, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Device,DEV=0
USB Audio Device, USB Audio
IEC958 (S/PDIF) Digital Audio Output
我尝试使用与 aplay 相同的结果的 alsa api 代码正在读取块中的音频文件并使用“snd_pcm_writei”来播放它,在 5 循环中,代码被冻结,大约一秒钟后控制返回到操作系统。
唯一有效的是记录音频没有问题的记录。
我尝试使用不同的 USB 声卡,得到相同的行为。
我应该在哪里寻找问题?