- 论坛徽章:
- 0
|
最近写一个alsa的驱动。在驱动里面我只注册了声卡和pcm播放组件和control音量控制组件。
我现在遇到一个问题,请各位大侠们不吝赐教。
用aplay测试 错误打印如下:
root@rt# aplay 2k.mp3 -D default:CARD=Default
[ 598.050000] pcm playback open
[ 598.050000] 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 [Default ]: 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 播放出错)。
不知各位有没有遇到这样的问题。期待大家讨论和回复,非常感谢。
|
|