0

我正在尝试在 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 声卡,得到相同的行为。

我应该在哪里寻找问题?

4

0 回答 0