如果你搜一下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()。呵呵,简单吧!
下面是源代码:
//================&#