qihaimou 发表于 2013-10-15 15:09

请教各位一个关于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 播放出错)。

不知各位有没有遇到这样的问题。期待大家讨论和回复,非常感谢。








qihaimou 发表于 2013-10-16 16:58

另外,我向音频节点丢数据的时候出现错误
# cat /tmp/2k.mp3> /dev/audio
/bin/ash: can't create /dev/audio: Invalid argument

页: [1]
查看完整版本: 请教各位一个关于alsa播放的问题