Wave Driver介绍-8(软件混音器)

http://blog.csdn.net/daydayupfromnowon/article/details/6011018

 

注:嵌入式系统上,大部分的Audio Codec都不支持硬件混音操作,因此需要软件混音器

Software MixerCE4.2上首次使用):

Waveapi模块有软件混音器,有时也称为内核混音器。它能混合多个不同采样率的PCM,在CE 4.2中被加入。软件混音器在启动时,为音频设备创建一个线程。这个线程负责接受应用的音频buffer,把它们放到混合的buffer中,再传给音频设备。从功能上看,Software Mixer支持的四种特性,第一:将任何格式的数据转换为双通道/16位宽,第二:将任何格式的数据转换到Wave Driver所支持的采样率;第三:可以对每个Stream的音量进行单独的控制;第四:支持waveOutSetRate(一个通过调用API来调整当前播放音频的采样率,格式为16.16,其实也就是调整播放速度,播放器中貌似有类似的操作方式)。

WaveDev2 MixerCE3.0上加入):

         与Software Mixer功能一致,另外,再加入了以下功能:1. 提供了部分手机的特殊调用,例如加入了对MM_WOM_FORCESPEAKER的支持,即无论当前用户是使用耳机作为输出(当然,硬件上要提供对这两种方式的支持),还是使用喇叭做为输出,当电话打进的时候,都会使用喇叭提醒用户,当然了,还有很多类似的针对手机的特殊调用,诸如Gain class;2. 提供输入混音,即将单一采样率的输入通过软件转换成多种采样率数据;

所有mixer函数通过IOCTL_MIX_MESSAGE来控制的,音频驱动可以在此IoControl加入相应的代码,来实现mixer函数。

参考网址:

http://blogs.msdn.com/b/medmedia/archive/2007/01/12/what-do-you-mean-by-mixer.aspx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值