天嵌 ARM开发社区

 找回密码
 注册
查看: 3706|回复: 3

混音编程分享及有关UDA1341声卡混音通道问题

[复制链接]
shruger 发表于 2012-8-30 17:17:23 | 显示全部楼层 |阅读模式
本帖最后由 shruger 于 2012-8-30 17:19 编辑

最近项目需要用到混音器,思路是通过ioctl 向/dev/mixer 发送控制命令来读取和设定

首先读取混音通道:
  1. ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devmask);
复制代码
其次获得通道掩码 devmask,然后进行掩码比较,判断是否存在通道,我现在寻找的是pcm通道(SOUND_MIXER_PCM):

  1. if ( ((1 << SOUND_MIXER_PCM) & devmask) ) {
  2. //set left and right channel level
复制代码


最后写入设置:
  1. ioctl(fd, MIXER_WRITE(device), &level)
复制代码


按照这种思路写的代码在pc上测试成功,能够正常调节音量。可是在tq2440上测试有问题,主要是
(1 << SOUND_MIXER_PCM) & devmask 语句返回 0, 也就是声卡上找不到pcm混音通道。难道是UDA1341 声卡的问题,还是声卡驱动问题?

以下是我的一段测试代码[见附件]在 tq2440 运行结果:
[root@EmbedSky /]# ./armmixer                                                   
usage: ./armmixer <device> <left-gain%> <right-gain%>                           
       ./armmixer <device> <gain%>                                             
                                                                                
Where <device> is one of:                                                      
vol bass treble mic igain  


红色字体代表可用的混音通道。

我在电脑或者友善的Tiny6410板子上测试后都有输出个 pcm,不知道各位亲有木有。

测试代码:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

相关帖子

cepoly 发表于 2012-8-30 23:10:34 | 显示全部楼层
本帖最后由 cepoly 于 2012-8-30 23:11 编辑

思路是不错的,我没有搞过pcm混音通道,听你说挺有意思的
按照这种思路写的代码在pc上测试成功,能够正常调节音量。可是在tq2440上测试有问题,主要是
(1 << SOUND_MIXER_PCM) & devmask 语句返回 0, 也就是声卡上找不到pcm混音通道。难道是UDA1341 声卡的问题,还是声卡驱动问题?

声卡上找不到pcm混音通道,我想问下pcm混音通道算不算字符设备,就是要写个字符驱动。
难道是UDA1341 声卡的问题,还是声卡驱动问题?播放mp3测试一下,有声音就没问题
TQ-ZQL 发表于 2012-8-31 09:44:33 | 显示全部楼层
这个你先看下驱动中是不是有实现你要的方法。可以加些打印信息看下。
 楼主| shruger 发表于 2012-8-31 11:53:13 | 显示全部楼层
cepoly 发表于 2012-8-30 23:10
思路是不错的,我没有搞过pcm混音通道,听你说挺有意思的
按照这种思路写的代码在pc上测试成功,能够正常调 ...

pcm混音通道不是字符设备,应该算是/dev/mixer设备的一个组成部分。
因为每个声卡的混音器都由不同通道组成,但是一般都有以下这几种:
vol 主音量控制通道
bass 低音通道
treble 高音通道
pcm 音频输出通道
mic 麦克风通道
但很奇怪,我的UDA1314声卡测不到pcm通道,也许是声卡硬件就没有这个通道,也许是声卡驱动问题。

如果你有UDA1314声卡的板子,能否试一下我那个测试代码,看看有没有输出pcm字样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-26 13:07 , Processed in 1.046875 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表