harmony 鸿蒙OpenSL ES

  • 2023-06-24
  • 浏览 (826)

OpenSL ES

简介

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

支持的API

对象 对外接口 接口调用详情 是否支持 说明
SLEngineItf CreateAudioPlayer CreateAudioPlayer(SLEngineItf self, SLObjectItf *pPlayer, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired) 创建音频播放机。
SLEngineItf CreateAudioRecorder reateAudioRecorder(SLEngineItf self, SLObjectItf *pRecorder, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired) 创建音频录制器。
SLEngineItf CreateAudioOutputMix CreateOutputMix(SLEngineItf self, SLObjectItf *pMix, SLuint32 numInterfaces, const SLInterfaceID *pInterfaceIds, const SLboolean *pInterfaceRequired) 创建混音器。
SLObjectItf Realize Realize(SLObjectItf self, SLboolean async) 创建音频播放机。
SLObjectItf getState GetState(SLObjectItf self, SLuint32 *state) 获取状态。
SLObjectItf getInterface GetInterface(SLObjectItf self, const SLInterfaceID iid, void *interface) 获取接口。
SLObjectItf Destroy Destroy(SLObjectItf self) 销毁对象。
SLOHBufferQueueItf Enqueue Enqueue(SLOHBufferQueueItf self, const void *buffer, SLuint32 size) 将buffer加入实际队列中。
SLOHBufferQueueItf clear Clear(SLOHBufferQueueItf self) 释放buffer队列
SLOHBufferQueueItf getState GetState(SLOHBufferQueueItf self, SLOHBufferQueueState *state) 获取BufferQueue状态。
SLOHBufferQueueItf getBuffer GetBuffer(SLOHBufferQueueItf self, SLuint8 **buffer, SLuint32 *size) 获取buffer。
SLOHBufferQueueItf RegisterCallback RegisterCallback(SLOHBufferQueueItf self, SlOHBufferQueueCallback callback, void *pContext) 注册回调函数。
SLPlayItf SetPlayState SetPlayState(SLPlayItf self, SLuint32 state) 设置播放状态。
SLPlayItf GetPlayState GetPlayState(SLPlayItf self, SLuint32 *state) 获取播放状态。
SLRecordItf SetRecordState SetRecordState(SLRecordItf self, SLuint32 state) 设置录制状态。
SLRecordItf GetRecordState GetRecordState(SLRecordItf self, SLuint32 *pState) 获取录制状态。
SLVolumeItf SetVolumeLevel SetVolumeLevel(SLVolumeItf self, SLmillibel *level) 设置音量。
SLVolumeItf GetVolumeLevel GetVolumeLevel(SLVolumeItf self, SLmillibel level) 获取音量。
SLVolumeItf GetMaxVolumeLevel GetMaxVolumeLevel(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

0  赞