美文网首页
关于iOS设备播放amr格式的音频文件

关于iOS设备播放amr格式的音频文件

作者: 执着_7748 | 来源:发表于2018-08-07 09:39 被阅读383次

在iOS 4.3之后,AVAudioPlayer是不支持播放amr文件格式的音频,AudioServicesPlaySystemSound虽支持少于三十秒的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

相关文章

  • 关于iOS设备播放amr格式的音频文件

    在iOS 4.3之后,AVAudioPlayer是不支持播放amr文件格式的音频,AudioServicesPla...

  • 转码

    ios 不能播放amr格式。ios 录制的音频位wav格式。 wav转amr可以使用opencore框架

  • iOS amr和wav 音频格式转换

    项目需求需要录制音频文件,而amr格式可以将音频文件压缩到很小(wav大小大概是amr的10倍),非常适用于移动端...

  • 基于ffmpeg转写amr到mp3

    背景 由于公司数据上传到阿里云,采用到音频格式是amr,在h5播放amr格式到时候,如果长度比较长,那么会出现播放...

  • iOS安卓音频视频那些事

    我有个聊天程序支持录制声音和播放。因为iOS不支持AMR格式,需要使用opencore-amrnb库来转换。当时转...

  • 解决Android录音iOS兼容性

    最近在开发过程中遇到问题,Android客户端录制的AMR_NB编码的文件在iOS设备商播放失败。 经过反复百度谷...

  • iOS 本地amr音频文件格式转换(wav)

    最近在使用科大讯飞的SDK 做音频文字互转的效果。 文字转语音很简单,但在处理音频转文字时候碰到一些问题,因此做一...

  • 音频开发 -- 音频基础

    一、音频播放流程 音乐播放器在播放音频时的流程:1.读入音频文件,使用解码器将各种格式的音频文件解压,还原为原始的...

  • 安卓并行录音:PCM编码为AMR格式

    需求 项目中需要进行并行录音,即: 录音PCM数据,通过Socket发送到客户端 本地保存一份amr格式的音频文件...

  • iOS 音频

    iOS 音频播放 本地音频文件 AVPlayer / AVAudioPlayer 在线音频流 AVPlayer i...

网友评论

      本文标题:关于iOS设备播放amr格式的音频文件

      本文链接:https://www.haomeiwen.com/subject/meueuftx.html