作者:cz小屁孩865 | 来源:互联网 | 2023-09-23 17:01
在iOS4.3之后,AVAudioPlayer不支持播放amr文件格式的音频.尽管AudioServicesPlaySystemSound支持的播放时间少于30秒am
在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