录制成amr声音文件的实现代码

本文介绍了如何在Nokia手机上直接录制AMR声音文件,避免通过PCM格式转换。关键在于使用CMdaAudioRecorderUtility类,并在打开文件前使用CEikonEnv::Static()->FsSession().Replace(aFile,aFile)确保文件存在且清空。同时,避免调用SetPosition和CropL方法。" 84800025,4915097,2018-2019 ICPC比赛题解:算法解析与思路总结,"['算法', '数据结构', '程序设计竞赛', '线段树', '树状数组']
摘要由CSDN通过智能技术生成
 

如果你搜一下Nokia或NewLC论坛,会有很多问关于如何录制amr声音文件的帖子。首先让我们了解一下Nokia手机上常用的声音文件格式,一般的Nokia手机都会支持wav,midi,pcm,amr这几种文件格式。其中wav波形文件一般比较大,由于手机资源有限,它的使用范围不是很广。而midi和amr的存储格式则比较小,应用比较广泛;Nokia默认的录制的声音文件保存为amr格式。

需要熟悉的几个类:CMdaAudioPlayerUtility,CMdaAudioRecorderUtility和CMdaAudioConvertUtility。

以前有人说录制成amr文件需要先流成pcm格式,然后对得到的pcm数据进行转换后存盘;但最简单的方法还是直接录制成amr文件。哦,说了一堆乱七八糟的东西,忘了说心得了,其实也很简单。直接使用CMdaAudioRecorderUtility::OpenFileL()方法录制成amr文件是可以实现的,但在调用iMdaAudioRecorderUtility->OpenFileL(aFile);之前,需要加上CEikonEnv::Static()->FsSession().Replace(aFile,aFile)来确保aFile文件是存在的,并且现在里面没有数据。然后就是不要调用SDK例子里的iMdaAudioRecorderUtility->SetPosition(

TTimeIntervalMicroSeconds( 0 ) )和iMdaAudioRecorderUtility-

>CropL()。呵呵,简单吧!

下面是源代码:

//================&#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值