HarmonyOS鸿蒙Next中AVRecorder录出音频m4a如何转换为amr格式,amr又如何转回m4a

HarmonyOS鸿蒙Next中AVRecorder录出音频m4a如何转换为amr格式,amr又如何转回m4a

  1. 用AVRecorder录音,然后从沙盒读取buf文件,如何将读取到的buf语音格式转换为amr格式?

  2. 接收到服务器的amr格式语音buf,如何转换为m4a进行本地播放(media.AVPlayer)?

最好能给个demo,方便快速接入,这个比较急,麻烦加急下。

3 回复

更多关于HarmonyOS鸿蒙Next中AVRecorder录出音频m4a如何转换为amr格式,amr又如何转回m4a的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,AVRecorder录制的音频格式为m4a,若需转换为amr格式,可以使用鸿蒙提供的媒体处理API。具体步骤如下:

  1. m4a转amr

    • 使用MediaCodec类进行音频格式转换。
    • 创建MediaFormat对象,设置输入格式为m4a,输出格式为amr。
    • 通过MediaCodec进行编码转换,将m4a文件解码为PCM数据,再编码为amr格式。
    • 保存转换后的amr文件。
  2. 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即可。

回到顶部