TI中文支持网
TI专业的中文技术问题搜集分享网站

tinyplay 不能播放声音

SoC : AM3354

SDK : TI-Android-JB-4.2.2-DevKit-4.1.1

使用 tinyplay 播放声音,或者调用 tinycap 进行录制声音,都会报错,报错内容为:

Unable to open PCM device 0 (cannot set hw params: Invalid argument)

设备的声卡为 WM8960,已经是找到了,声卡,

ls /dev/snd/controlC0 pcmC0D0c pcmC0D0p timer

cat /proc/asound/cards 0 [EVM ]: AM335X_EVM – AM335X EVM
AM335X EVM

跟踪了 tinyalsa 的代码,是在 pcm_open 设置硬件参数的时候出错了

// 出错的位置

if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_PARAMS, &params)) {
// ADD BY CARLOS
    printf("\n\n");
    printf("cannot set hw params\n\n");
    oops(pcm, errno, "cannot set hw params");
    goto fail_close;
}

不知道怎么会是,求支持

Jian Zhou:

继续跟踪进到这个函数ioctl(pcm->fd, SNDRV_PCM_IOCTL_HW_PARAMS, &params)里看看哪里报错。

user4725089:

回复 Jian Zhou:

 这个再跟踪的话,就是底层,设置 PCM 的了。

我是用一样的内核,但是在linux 的条件下,使用 aplay xx.wav 的话,就可以进行播放。也就是说,底层的驱动应该不存在问题。

user4725089:

回复 Jian Zhou:

使用 SDK 自带的  Music APP,去播放歌曲的时候,是可以播放声音的,可是为什么 使用命令 tinyplay 不能播放

Jian Zhou:

回复 user4725089:

建议还是在两种不同的播放器的操作下,定位到ioctl函数里,看看是不是应用层传递下去的参数有区别。

赞(0)
未经允许不得转载:TI中文支持网 » tinyplay 不能播放声音
分享到: 更多 (0)