鸿蒙NEXT开发实战往期必看文章:
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开发!
“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线!(从零基础入门到精通)
HarmonyOS NEXT应用开发案例实践总结合(持续更新......)
HarmonyOS NEXT应用开发性能优化实践总结(持续更新......)
音频编码
开发者可以调用本模块的Native API接口,完成音频编码,即将音频PCM编码压缩成不同的格式。
接口不限制PCM数据的来源,开发者可以调用麦克风录制获取、也可以导入编辑后的PCM数据,通过音频编码,输出对应格式的码流,最后封装为目标格式文件。
当前支持的编码能力如下:
容器规格 | 音频编码类型 |
---|---|
mp4 | AAC、Flac |
m4a | AAC |
flac | Flac |
aac | AAC |
mp3 | MP3 |
raw | G711mu |
适用场景
-
音频录制
通过录制传入PCM,然后编码出对应格式的码流,最后封装成想要的格式。
-
音频编辑
编辑PCM后导出音频文件的场景,需要编码成对应音频格式后再封装成文件。
说明:
AAC编码器默认采用的VBR可变码率模式,与配置的预期参数可能存在偏差。
开发指导
详细的API说明请参考API文档。
参考以下示例代码,完成音频编码的全流程,包括:创建编码器、设置编码参数(采样率/码率/声道数等)、开始、刷新、重置、销毁资源。
在应用开发过程中,开发者应按一定顺序调用方法,执行对应操作,否则系统可能会抛出异常或生成其他未定义的行为。具体顺序可参考下列开发步骤及对应说明。
如下为音频编码调用关系图:
-
虚线表示可选。
-
实线表示必选。
在 CMake 脚本中链接动态库
target_link_lib