HarmonyOS鸿蒙Next中AVRecorder录出音频m4a如何转换为amr格式,amr又如何转回m4a
HarmonyOS鸿蒙Next中AVRecorder录出音频m4a如何转换为amr格式,amr又如何转回m4a
-
用AVRecorder录音,然后从沙盒读取buf文件,如何将读取到的buf语音格式转换为amr格式?
-
接收到服务器的amr格式语音buf,如何转换为m4a进行本地播放(media.AVPlayer)?
最好能给个demo,方便快速接入,这个比较急,麻烦加急下。
目前音频转码都是Native API接口
更多关于HarmonyOS鸿蒙Next中AVRecorder录出音频m4a如何转换为amr格式,amr又如何转回m4a的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,AVRecorder录制的音频格式为m4a,若需转换为amr格式,可以使用鸿蒙提供的媒体处理API。具体步骤如下:
-
m4a转amr:
- 使用
MediaCodec
类进行音频格式转换。 - 创建
MediaFormat
对象,设置输入格式为m4a,输出格式为amr。 - 通过
MediaCodec
进行编码转换,将m4a文件解码为PCM数据,再编码为amr格式。 - 保存转换后的amr文件。
- 使用
-
amr转m4a:
- 同样使用
MediaCodec
类进行音频格式转换。 - 创建
MediaFormat
对象,设置输入格式为amr,输出格式为m4a。 - 通过
MediaCodec
进行编码转换,将amr文件解码为PCM数据,再编码为m4a格式。 - 保存转换后的m4a文件。
- 同样使用
鸿蒙系统提供了完整的媒体处理框架,开发者可以直接调用相关API实现音频格式转换,无需依赖第三方库。
在HarmonyOS鸿蒙Next中,将m4a音频转换为amr格式,可以使用AVFormat
类进行格式转换。首先,使用AVFormat.createInputFormat()
读取m4a文件,然后使用AVFormat.createOutputFormat()
设置输出为amr格式,最后通过AVFormat.start()
和AVFormat.stop()
完成转换。将amr转回m4a,过程类似,只需将输入格式设置为amr,输出格式设置为m4a即可。