[发明专利]一种音频设备中实现混音的方法有效
| 申请号: | 200910112508.X | 申请日: | 2009-09-15 |
| 公开(公告)号: | CN101661748A | 公开(公告)日: | 2010-03-03 |
| 发明(设计)人: | 洪锦坤 | 申请(专利权)人: | 福州瑞芯微电子有限公司 |
| 主分类号: | G10L19/00 | 分类号: | G10L19/00 |
| 代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) | 代理人: | 翁素华 |
| 地址: | 350011福建省福州市鼓楼区*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明是关于一种音频设备中实现混音的方法,主要包括如下步骤:解码音频数据;将多个解码后的数据混合在一起;通过DMA将混合数据传到IIS控制器。本发明在多任务系统中实现了软件混音功能,可以同时听到多种声音,在听音乐的同时,可以发出按键音。 | ||
| 搜索关键词: | 一种 音频设备 实现 方法 | ||
【主权项】:
1、一种音频设备中实现混音的方法,其特征在于:包括如下步骤:步骤100:解码音频数据,包括如下步骤:步骤101:开始;步骤102:解码器初始化,判断是否成功 是,转入步骤103;否,转入步骤111;步骤103:申请一个FIFO,判断是否成功 是,转入步骤104;否,转入步骤111;步骤104:暂停播放 是,转入步骤105;否,转入步骤106;步骤105:FIFO满 是,转入步骤106;否,转入步骤107;步骤106:OSTIMEDELAY;步骤107:解码,并把数据存到FIFO中;步骤108:判断解码是否成功 是,转入步骤109;否,转入步骤111;步骤109:判断是否结束解码:是,转入步骤110;否,转入步骤104;步骤110;反初始化解码器,释放FIFO空间;步骤111:结束任务;步骤200:将多个解码后的数据混合在一起,包括如下步骤:步骤201:开始;步骤202:申请一个FIFO_A,成功 是,转入步骤203;否,转入步骤211;步骤203:申请一个X长度的BUF_A,成功 是,转入步骤204;否,转入步骤211;步骤204:注册DMA中断函数,并启动DMA;步骤205:所有音频任务的FIFO都不为空 是,转入步骤206;否,转入步骤207;步骤206:FIFO_A满 是,转入步骤207;否,转入步骤208;步骤207:OSTIMEDELAY;步骤208:从所有音频的FIFO中取出数据进行叠加运算,并存到FIFO_A中;步骤209:判断是否停止混音 是,转入步骤210;否,转入步骤205;步骤210:停止DMA,释放FIFO_A和BUF_A空间;步骤211:结束任务;步骤300:通过DMA将混合数据传到IIS控制器,包括如下步骤:步骤301:开始;步骤302:判断是否有已发送的FIFO_A的空间未被释放吗 是,转入步骤303;否,转入步骤304;步骤303:释放FIFO_A已被取出数据的空间;步骤304:判断是否FIFO_A非空 是,转入步骤305;否,转入步骤306;步骤305:判断FIFO_A已使用的空间是否大于X值 是,转入步骤307;否,转入步骤309;步骤306:将BUF_A都填0;转入步骤308:步骤307:从FIFO_A读出X长度的数据到BUF_A,标识FIFO_A有X长度空间未被释放;步骤308:配置并启动DMA,将BUF_A的X长度的数据传给IIS控制器;步骤309:从FIFO_A读出已使用的空间Y的长度数据到BUF_A,标识FIFO_A有Y长度空间未被释放,配置并启动DMA,将BUF_A的Y长度的数据传给IIS控制器;步骤310:中断结束退出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州瑞芯微电子有限公司,未经福州瑞芯微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910112508.X/,转载请声明来源钻瓜专利网。





