HarmonyOS鸿蒙Next中App在Native层如何做声音播放和声音采集?

HarmonyOS鸿蒙Next中App在Native层如何做声音播放和声音采集? 鸿蒙App,在Native层如何做声音播放和声音采集?

安卓平台,是在Native层调用的Java层,组件:AudioTracker/AudioRecord。

鸿蒙系统中,是否使用OpenSL比较好,需要什么权限,依赖库有哪些,有无参考Demo,请协助。

3 回复

1、可下载最新的deveco,最好进行更新
2、由于OpenSL ES无法满足音频系统的能力拓展,建议开发者使用OHAudio替代OpenSL ES开发音频业务。本文将介绍如何从使用OpenSL ES接口开发音频业务,切换为使用OHAudio接口,可参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/replace-opensles-by-ohaudio-V5

3、(官方已不推荐)使用OpenSL ES开发音频播放功能(C/C++)的文档(其中包含了完整示例):
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-opensl-es-for-playback-V5

OpenHarmony当前仅实现了部分接口,可以实现音频播放的基础功能

4、权限方面。不需要ACL权限,只需要就正常的麦克风权限

5、官网也有现成的原生“音频和视频-视频播放”的工程代码可下载:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/media-kit-V5

更多关于HarmonyOS鸿蒙Next中App在Native层如何做声音播放和声音采集?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,App在Native层实现声音播放和声音采集,可以通过鸿蒙的Audio模块来完成。声音播放可以使用OH_AudioPlayer接口,声音采集可以使用OH_AudioCapturer接口。

对于声音播放,首先需要创建OH_AudioPlayer实例,然后配置音频流类型、采样率、声道数等参数。接着,通过OH_AudioPlayer_SetWriteCallback设置数据写入回调函数,在回调函数中填充音频数据。最后调用OH_AudioPlayer_Start开始播放。

对于声音采集,首先创建OH_AudioCapturer实例,配置音频源、采样率、声道数等参数。然后通过OH_AudioCapturer_SetReadCallback设置数据读取回调函数,在回调函数中处理采集到的音频数据。最后调用OH_AudioCapturer_Start开始采集。

具体实现可以参考鸿蒙官方文档中的Audio模块API说明,确保在Native层正确调用相关接口,完成声音播放和采集功能。

在HarmonyOS鸿蒙Next中,App在Native层进行声音播放和采集可以通过使用OpenSL ES API实现。具体步骤如下:

  1. 声音播放

    • 使用SLObjectItf创建音频播放器对象。
    • 配置音频源和输出设备,设置缓冲区队列。
    • 调用SLPlayItf接口的SetPlayState方法启动播放。
  2. 声音采集

    • 使用SLObjectItf创建音频录制器对象。
    • 配置音频输入源和音频格式,设置缓冲区队列。
    • 调用SLRecordItf接口的SetRecordState方法启动录制。

通过上述方法,可以高效实现声音的播放和采集功能。

回到顶部