我们正在开发一个在移动设备上录制和播放音频的应用程序.此应用程序正在为Android和iOS开发.应用程序将使用设备麦克风录制音频并将其存储在服务器中.
用户(在AndroID和iOS上)可以打开应用程序并播放存储在服务器上的声音.我们使用的声音格式是AAC.在iOS中它的工作正常.我们可以录制和播放AAC文件.
但在AndroID(三星S3和三星galaxy Y)上,我们无法以AAC格式录制声音.但在S3中我们可以播放AAC文件.
我的问题是,我们应选择哪种格式用于在AndroID中录制和播放(应支持从2.3到Jellybean)和iOS.我们应该使用MP4吗?
我们的一个解决方案是,在后端,我们可以将音频文件转换为AAC,MP4或3GP,并根据版本将支持的文件提供给手机.
解决方法 AndroID和iOS使用相同的服务器来存储记录.保存所有记录时没有任何扩展名.当AndroID从服务器下载记录时,我的应用会添加“.aac”扩展名.
使用iOS时,它会添加“.m4a”扩展名.
同样的记录在两个移动平台上都表现良好.
在iOS上录制:
NSDictionary recorderSettings = [[NSDictionary alloc] initWithObjectsAndKeys: [NSNumber numberWithInt:kAudioFormatMPEG4AAC],AVFormatIDKey, [NSNumber numberWithInt:16000],AVSampleRateKey, [NSNumber numberWithInt:1],AVNumberOfChannelsKey, [NSNumber numberWithInt:16],AVlinearPCMBitDepthKey, [NSNumber numberWithBool:NO],AVlinearPCMIsBigEndianKey,AVlinearPCMIsfloatKey, nil];
对于AndroID:
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);myRecorder.setoutputFormat(MediaRecorder.OutputFormat.MPEG_4);myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);myRecorder.setAudioSamplingRate(16000);myRecorder.setAudioChannels(1);mRecorder.setoutputfile(filename);总结
以上是内存溢出为你收集整理的适用于iOS和Android的音频格式全部内容,希望文章能够帮你解决适用于iOS和Android的音频格式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)