当前位置: 首页 > news >正文

佛山英文网建站网站开发 常德

佛山英文网建站,网站开发 常德,杭州哪里做网站好,巴彦淖尔市网站制作OpenSL ES 全称为 Open Sound Library for Embedded Systems#xff0c;是一个嵌入式、跨平台、免费的音频处理库。为嵌入式移动多媒体设备上的应用开发者提供标准化、高性能、低延迟的 API。HarmonyOS 的 Native API 基于Khronos Group开发的OpenSL ES 1.0.1 API 规范实现是一个嵌入式、跨平台、免费的音频处理库。为嵌入式移动多媒体设备上的应用开发者提供标准化、高性能、低延迟的 API。HarmonyOS 的 Native API 基于Khronos Group开发的OpenSL ES 1.0.1 API 规范实现开发者可以通过OpenSLES.h和OpenSLES_OpenHarmony.h在 HarmonyOS 上使用相关 API。 HarmonyOS 上的 OpenSL ES OpenSL ES 中提供了以下的接口HarmonyOS 当前仅实现了部分OpenSL ES接口可以实现音频播放的基础功能。 调用未实现接口后会返回 SL_RESULT_FEATURE_UNSUPPORTED当前没有相关扩展可以使用。 以下列表列举了 HarmonyOS 上已实现的 OpenSL ES 的接口具体说明请参考OpenSL ES规范 ● HarmonyOS 上支持的 Engine 接口 SLresult (*CreateAudioPlayer) (SLEngineItf self, SLObjectItf * pPlayer, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID * pInterfaceIds, const SLboolean * pInterfaceRequired) ○ SLresult (*CreateAudioRecorder) (SLEngineItf self, SLObjectItf * pRecorder, SLDataSource *pAudioSrc, SLDataSink *pAudioSnk, SLuint32 numInterfaces, const SLInterfaceID * pInterfaceIds, const SLboolean * pInterfaceRequired) ○ SLresult (*CreateOutputMix) (SLEngineItf self, SLObjectItf * pMix, SLuint32 numInterfaces, const SLInterfaceID * pInterfaceIds, const SLboolean * pInterfaceRequired) ● HarmonyOS 上支持的 Object 接口SLresult (*Realize) (SLObjectItf self, SLboolean async) ○ SLresult (*GetState) (SLObjectItf self, SLuint32 * pState) ○ SLresult (*GetInterface) (SLObjectItf self, const SLInterfaceID iid, void * pInterface) ○ void (*Destroy) (SLObjectItf self) ● HarmonyOS 上支持的 Playback 接口SLresult (*SetPlayState) (SLPlayItf self, SLuint32 state) ○ SLresult (*GetPlayState) (SLPlayItf self, SLuint32 *pState) ● HarmonyOS 上支持的 Volume 控制接口SLresult (*SetVolumeLevel) (SLVolumeItf self, SLmillibel level) ○ SLresult (*GetVolumeLevel) (SLVolumeItf self, SLmillibel *pLevel) ○ SLresult (*GetMaxVolumeLevel) (SLVolumeItf self, SLmillibel *pMaxLevel) HarmonyOS 上支持的 BufferQueue 接口以下接口需引入OpenSLES_OpenHarmony.h使用。 完整示例 参考以下示例代码播放一个音频文件。 1.  添加头文件。 #include OpenSLES.h#include OpenSLES_OpenHarmony.h#include OpenSLES_Platform.h 2.  使用 slCreateEngine 接口和获取 engine 实例。 SLObjectItf engineObject  nullptr;slCreateEngine(engineObject, 0, nullptr, 0, nullptr, nullptr);(*engineObject)-Realize(engineObject, SL_BOOLEAN_FALSE); 3.  获取接口 SL_IID_ENGINE 的 engineEngine 实例。 SLEngineItf engineEngine  nullptr;(*engineObject)-GetInterface(engineObject, SL_IID_ENGINE, engineEngine); 4.  配置播放器信息创建 AudioPlayer。 SLDataLocator_BufferQueue slBufferQueue  {    SL_DATALOCATOR_BUFFERQUEUE,    0}; // 具体参数需要根据音频文件格式进行适配SLDataFormat_PCM pcmFormat  {    SL_DATAFORMAT_PCM,    2, // 通道数    SL_SAMPLINGRATE_48, // 采样率    SL_PCMSAMPLEFORMAT_FIXED_16, // 音频采样格式    0,    0,    0};SLDataSource slSource  {slBufferQueue, pcmFormat};SLObjectItf pcmPlayerObject  nullptr;(*engineEngine)-CreateAudioPlayer(engineEngine, pcmPlayerObject, slSource, null, 0, nullptr, nullptr);(*pcmPlayerObject)-Realize(pcmPlayerObject, SL_BOOLEAN_FALSE); 5.  获取接口 SL_IID_OH_BUFFERQUEUE 的 bufferQueueItf 实例。 SLOHBufferQueueItf bufferQueueItf;(*pcmPlayerObject)-GetInterface(pcmPlayerObject, SL_IID_OH_BUFFERQUEUE, bufferQueueItf); 6.  打开音频文件注册 BufferQueueCallback 回调。 static void BufferQueueCallback (SLOHBufferQueueItf bufferQueueItf, void *pContext, SLuint32 size){    SLuint8 *buffer  nullptr;    SLuint32 pSize; (*bufferQueueItf)-GetBuffer(bufferQueueItf, buffer, pSize); // 将待播放音频数据写入buffer (*bufferQueueItf)-Enqueue(bufferQueueItf, buffer, size);}void *pContext; // 可传入自定义的上下文信息会在Callback内收到(*bufferQueueItf)-RegisterCallback(bufferQueueItf, BufferQueueCallback, pContext); 7.  获取接口 SL_PLAYSTATE_PLAYING 的 playItf 实例开始播放。 SLPlayItf playItf  nullptr;(*pcmPlayerObject)-GetInterface(pcmPlayerObject, SL_IID_PLAY, playItf);(*playItf)-SetPlayState(playItf, SL_PLAYSTATE_PLAYING); 8.  结束音频播放。 (*playItf)-SetPlayState(playItf, SL_PLAYSTATE_STOPPED);(*pcmPlayerObject)-Destroy(pcmPlayerObject);(*engineObject)-Destroy(engineObject);
http://www.ho-use.cn/article/10824067.html

相关文章:

  • 优化网站的软件成都 网站制作
  • 求百度关键词搜索网站广西南宁网站建设哪家好
  • 自己编辑网站怎么做的网站内容分享
  • wordpress如何做301跳转长沙网站推广seo
  • 网站建设发展情况个性化网站建设费用
  • 广元网站建设wordpress 广告代码
  • 交易平台网站建设项目需求flask做的网站如何上传文件
  • 个人网站用什么空间好华为手机WordPress
  • 有哪些好的网站模版sem分析是什么意思
  • 建设银行缴费网站登录一家公司为什么要建官方网站
  • 查工程项目的网站最好的响应式网站有哪些
  • 学校网站建设 分工如何提升网站转化率
  • 淳安县建设网站培训网站开发学校
  • 门网站制作帮公司做网站
  • 做图片可以卖给那些网站wordpress 目录样式
  • 容桂网站制作咨询自己做网站卖衣服
  • 四川省建设厅职业注册中心网站昆明网络科技公司有哪些
  • 广州响应网站建设往网站上做新东西需要什么
  • wordpress左右滑动插件手机优化系统
  • 人社门户网站建设方案用网站空间可以做有后台的网站吗
  • 西宁网站建设低价网站建设
  • 如何做教育类网站天津建筑网站建设
  • 竖排导航网站昌平做网站
  • 公司做网站的费属于广告费么电脑外设网站建设论文
  • 24小时学会网站建设 pdf下载百度商业平台官网
  • 做电影网站怎么样湛江网站制作江网站制作
  • 网站注册需要什么wordpress登录密码错误也不报错
  • 公司的网站推广怎么做wordpress 联系我们表单
  • 代做网站公司有哪些apt安装wordpress
  • 网站建设设计哪个济南兴田德润简介wordpress安装到服务器