
在iOS 4.3之后,AVAudioPlayer不支持播放amr文件格式的音频. 尽管AudioServicesPlaySystemSound支持的播放时间少于30秒amr播放器安卓,但只能用作铃声,不能用作音频.

为此amr播放器安卓,需要将amr格式转码为wav格式. 需要引入VoiceConvert第三方库,并且需要确认它支持arm64,否则它将报告错误

NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
//把data写入文件中,取名AudioTempFile
[data writeToFile:[NSTemporaryDirectory() stringByAppendingPathComponent:@"AudioTempFile"] atomically:YES];
//将amr格式的数据转成wav
[EMVoiceConverter amrToWav:[NSTemporaryDirectory() stringByAppendingPathComponent:@"AudioTempFile"] wavSavePath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"AudioTempConvertFile"]];
//读取新的wav格式音频文件
NSData* convertData = [NSData dataWithContentsOfFile:[NSTemporaryDirectory() stringByAppendingPathComponent:@"AudioTempConvertFile"]];
//初始化播放器,播放converData
self.player = [[AVAudioPlayer alloc] initWithData:convertData error:nil];
self.player.delegate = self;
[self.player prepareToPlay];
[self.player play];

最后附加第三方库VoiceConvert
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-200961-1.html
本文介绍了在iOS设备上播放AMR格式音频的方法。由于AVAudioPlayer不支持AMR格式,文章提供了一种通过第三方库VoiceConvert将AMR转换为WAV格式的方案,并详细解释了实现步骤。
1863

被折叠的 条评论
为什么被折叠?



