请教各位一个关于alsa播放的问题
最近写一个alsa的驱动。在驱动里面我只注册了声卡和pcm播放组件和control音量控制组件。我现在遇到一个问题,请各位大侠们不吝赐教。
用aplay测试 错误打印如下:
root@rt# aplay 2k.mp3 -D default:CARD=Default
pcm playback open
pcm playback open close (这两行打印是驱动的打印,pcm ops的open函数和close函数打印)
aplay: main:722: audio open error: Invalid argument(aplay 播放出错)
下面是我的声卡信息:
root@rt# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Default [], device 0: mycard_pcm []
Subdevices: 1/1
Subdevice #0: subdevice #0
root@rt:# cat /proc/asound/cards
0 : mycard -
上面红色的打印是aplay调用snd_pcm_open返回失败的打印,返回出错为-22.
err = snd_pcm_open(&handle, pcm_name, stream, open_mode);
if (err < 0) {
error(_("audio open error: %s,%d"), snd_strerror(err),err);
return 1;
}
不知是不是我写的驱动不完整导致的呢。aplay调用snd_pcm_open已经触发了底层驱动的open函数,且成功.为什么
其返回值为-22,导致aplay: main:722: audio open error: Invalid argument(aplay 播放出错)。
不知各位有没有遇到这样的问题。期待大家讨论和回复,非常感谢。
另外,我向音频节点丢数据的时候出现错误
# cat /tmp/2k.mp3> /dev/audio
/bin/ash: can't create /dev/audio: Invalid argument
页:
[1]