harmony 鸿蒙OpenSL ES

2023-06-24 浏览 (1146)

OpenSL ES

简介

OpenSL ES(Open Sound Library for Embedded System)即嵌入式音频加速标准。为开发者提供了标准化、高性能以及低响应时间的音频功能开发的对象和接口。相对于开源免费的OpenSL ES,OpenHarmony基于OpenSL ES 1.0.1 API规范实现了部分Native API,相关接口开放情况介绍如下:

支持的API

对象对外接口接口调用详情是否支持说明
SLEngineItfCreateAudioPlayerCreateAudioPlayer(SLEngineItf self, SLObjectItf *pPlayer, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired)创建音频播放机。
SLEngineItfCreateAudioRecorderreateAudioRecorder(SLEngineItf self, SLObjectItf *pRecorder, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired)创建音频录制器。
SLEngineItfCreateAudioOutputMixCreateOutputMix(SLEngineItf self, SLObjectItf *pMix, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired)创建混音器。
SLObjectItfRealizeRealize(SLObjectItf self, SLboolean async)创建音频播放机。
SLObjectItfgetStateGetState(SLObjectItf self, SLuint32 *state)获取状态。
SLObjectItfgetInterfaceGetInterface(SLObjectItf self, const SLInterfaceID iid, void *interface)获取接口。
SLObjectItfDestroyDestroy(SLObjectItf self)销毁对象。
SLOHBufferQueueItfEnqueueEnqueue(SLOHBufferQueueItf self, const void *buffer, SLuint32 size)将buffer加入实际队列中。
SLOHBufferQueueItfclearClear(SLOHBufferQueueItf self)释放buffer队列
SLOHBufferQueueItfgetStateGetState(SLOHBufferQueueItf self, SLOHBufferQueueState *state)获取BufferQueue状态。
SLOHBufferQueueItfgetBufferGetBuffer(SLOHBufferQueueItf self, SLuint8 **buffer, SLuint32 *size)获取buffer。
SLOHBufferQueueItfRegisterCallbackRegisterCallback(SLOHBufferQueueItf self, SlOHBufferQueueCallback callback, void *pContext)注册回调函数。
SLPlayItfSetPlayStateSetPlayState(SLPlayItf self, SLuint32 state)设置播放状态。
SLPlayItfGetPlayStateGetPlayState(SLPlayItf self, SLuint32 *state)获取播放状态。
SLRecordItfSetRecordStateSetRecordState(SLRecordItf self, SLuint32 state)设置录制状态。
SLRecordItfGetRecordStateGetRecordState(SLRecordItf self, SLuint32 *pState)获取录制状态。
SLVolumeItfSetVolumeLevelSetVolumeLevel(SLVolumeItf self, SLmillibel *level)设置音量。
SLVolumeItfGetVolumeLevelGetVolumeLevel(SLVolumeItf self, SLmillibel level)获取音量。
SLVolumeItfGetMaxVolumeLevelGetMaxVolumeLevel(SLVolumeItf self, SLmillibel *maxLevel)获取最大音量。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙1.0.0 (2022/03/09)

harmony 鸿蒙1.0.0 (2022/03/09)

harmony 鸿蒙OpenHarmony Docker镜像

harmony 鸿蒙OpenHarmony Docker Image

harmony 鸿蒙Legal Notices

harmony 鸿蒙OpenHarmony Project

harmony 鸿蒙IDL Specifications and User Guide (for System Applications Only)

harmony 鸿蒙Application Development

harmony 鸿蒙OAID Service

harmony 鸿蒙AI

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/d297369f8ee74a82b48af2226f0dc3c9