HarmonyOS 鸿蒙Next AVRecorder录制的m4a无法在iOS播放

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next AVRecorder录制的m4a无法在iOS播放

private avProfile: media.AVRecorderProfile = {
  audioBitrate:10000,
  audioChannels: 1, // 音频声道数
  audioCodec: media.CodecMimeType.AUDIO_AAC, // 音频编码格式,当前支持ACC,MP3,G711MU
  audioSampleRate: audio.AudioSamplingRate.SAMPLE_RATE_12000, // 音频采样率
  fileFormat: media.ContainerFormatType.CFT_MPEG_4A, // 封装格式,当前支持MP4,M4A,MP3,WAV
};

以上是录制的配置,在录制完后上传至服务端,安卓和pc端均可正常播放,但是iOS的播放时无法获取总时长,也无法正常播放,不确定是哪个参数的问题,对照iOS代码设置的audioChannels:1 audioSampleRate:12000 但是iOS里没有audioBitrate参数


更多关于HarmonyOS 鸿蒙Next AVRecorder录制的m4a无法在iOS播放的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

封装格式m4a,文件名也要这个后缀。

cke_316.png

更多关于HarmonyOS 鸿蒙Next AVRecorder录制的m4a无法在iOS播放的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


试了下确实存储的路径改为.m4a iOS的就能播放了。

鸿蒙录制的m4a在mac下显示的信息

cke_131.png

iOS和安卓端录制的m4a在mac下显示的信息

cke_2452.png

对比两文件 ,图1为鸿蒙录制的aac文件,实际文件为mpeg-4,并非m4a

cke_137.png

图2为安卓和iOS录制的音频信息,实际为adts,并且信息少很多,从现象上看,鸿蒙是把音频当成视频来录制了

cke_3231.png

针对HarmonyOS鸿蒙系统中Next AVRecorder录制的m4a文件无法在iOS播放的问题,可能的原因及解决方案如下:

  1. 编码格式不兼容:iOS设备可能不支持某些特定的m4a编码格式。确保录制的m4a文件使用的是iOS兼容的编码,如AAC。在鸿蒙系统中录制时,检查AVRecorder的配置,确保选择了正确的编码器和参数。

  2. 元数据问题:m4a文件的元数据(如标签信息)可能不符合iOS的解析标准。尝试使用专业的音频编辑软件重新编辑或转换文件,确保元数据正确无误。

  3. 文件损坏:录制过程中可能由于系统错误或存储问题导致文件损坏。重新录制文件并尝试在iOS设备上播放,以排除文件损坏的可能性。

  4. 系统更新:检查鸿蒙系统和iOS系统是否为最新版本,有时系统更新能解决兼容性问题。

  5. 第三方软件:尝试使用第三方音频转换工具将m4a文件转换为其他格式(如mp3),再尝试在iOS设备上播放,以验证是否为格式兼容性问题。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部