From ca1b14b7e49627549424065412dfccda1078730f Mon Sep 17 00:00:00 2001 From: liuyuehua1 Date: Thu, 12 May 2022 15:12:24 +0800 Subject: [PATCH 1/5] buffer queue interface explain. Signed-off-by: liuyuehua1 --- zh-cn/native_sdk/OpenSLES_OpenHarmony.h | 150 ++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 zh-cn/native_sdk/OpenSLES_OpenHarmony.h diff --git a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h new file mode 100644 index 00000000..39f83616 --- /dev/null +++ b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file OpenSLES_OpenHarmony.h + * + * @brief 提供音频文件的相关操作 + * + * 功能包括音频播放文件和录音文件操作 + * + * @since 9 + * @version 1.0 + */ + +#ifndef OPENSLES_OPENHARMONY_H +#define OPENSLES_OPENHARMONY_H + +#include +#include + +/*---------------------------------------------------------------------------*/ +/* OH Buffer Queue Interface */ +/*---------------------------------------------------------------------------*/ + +extern const SLInterfaceID SL_IID_OH_BUFFERQUEUE; + +struct SLOHBufferQueueItf_; +typedef const struct SLOHBufferQueueItf_ * const * SLOHBufferQueueItf; + +/** + * @brief 回调函数 + * + * 如果是播放操作,回调函数用来读取待播放的音频文件 + * 如果是录音操作,则从filledBufferQ_队列中获取携带录音数据的buffer + * + * @param self 表示调用该函数的BufferQueue接口对象 + * @param pContext 播放时表示播放音频文件,录音时表示录音存储文件 + * @param size 表示一次播放或录音时的buffer数据长度 + * @return + * @since 9 + * @version 1.0 + */ +typedef void (SLAPIENTRY *SlOHBufferQueueCallback)( + SLOHBufferQueueItf caller, + void *pContext, + SLuint32 size +); + +/** OH Buffer queue state **/ + +typedef struct SLOHBufferQueueState_ { + SLuint32 count; + SLuint32 index; +} SLOHBufferQueueState; + + +struct SLOHBufferQueueItf_ { +/** + * @brief 根据情况将buffer加到相应队列中 + * + * 如果是播放操作,则将带有音频数据的buffer插入到filledBufferQ_队列中 + * 如果是录音操作,则将录音使用后的空闲buffer插入到freeBufferQ_队列中 + * + * @param self 表示调用该函数的BufferQueue接口对象 + * @param buffer 播放时表示带有音频数据的buffer,录音时表示已存储完录音数据后的空闲buffer + * @param size 表示buffer的大小 + * @return 返回操作是否成功,出错时返回对应的错误编码 + * @since 9 + * @version 1.0 + */ + SLresult (*Enqueue) ( + SLOHBufferQueueItf self, + const void *buffer, + SLuint32 size + ); + +/** + * @brief 释放BufferQueue接口对象 + * + * @param self 表示调用该函数的BufferQueue接口对象将被释放 + * @return 返回操作是否成功,出错时返回对应的错误编码 + * @since 9 + * @version 1.0 + */ + SLresult (*Clear) ( + SLOHBufferQueueItf self + ); + +/** + * @brief 获取BufferQueue接口对象状态 + * + * @param self 表示调用该函数的BufferQueue接口对象 + * @param state BufferQueue的当前状态 + * @return 返回操作是否成功,出错时返回对应的错误编码 + * @since 9 + * @version 1.0 + */ + SLresult (*GetState) ( + SLOHBufferQueueItf self, + SLOHBufferQueueState *state + ); + +/** + * @brief 根据情况获取相应的buffer + * + * 如果是播放操作,则从freeBufferQ_队列中获取空闲buffer + * 如果是录音操作,则从filledBufferQ_队列中获取携带录音数据的buffer + * + * @param self 表示调用该函数的BufferQueue接口对象 + * @param buffer 播放时表示空闲的buffer,录音时表示携带录音数据的buffer + * @param size 表示buffer的大小 + * @return 返回操作是否成功,出错时返回对应的错误编码 + * @since 9 + * @version 1.0 + */ + SLresult (*GetBuffer) ( + SLOHBufferQueueItf self, + SLuint8** buffer, + SLuint32& size + ); + +/** + * @brief 注册回调函数 + * + * @param self 表示调用该函数的BufferQueue接口对象 + * @param buffer 播放时表示空闲的buffer,录音时表示携带录音数据的buffer + * @param size 表示buffer的大小 + * @return 返回操作是否成功,出错时返回对应的错误编码 + * @since 9 + * @version 1.0 + */ + SLresult (*RegisterCallback) ( + SLOHBufferQueueItf self, + SlOHBufferQueueCallback callback, + void* pContext + ); +}; +#endif -- Gitee From 68269fc853dfc96d7f36a037b1f5b967427071f4 Mon Sep 17 00:00:00 2001 From: liuyuehua1 Date: Thu, 12 May 2022 15:40:31 +0800 Subject: [PATCH 2/5] Improvement of buffer queue interface data. Signed-off-by: liuyuehua1 --- zh-cn/native_sdk/OpenSLES_OpenHarmony.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h index 39f83616..41108b1f 100644 --- a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h +++ b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h @@ -31,7 +31,7 @@ #include /*---------------------------------------------------------------------------*/ -/* OH Buffer Queue Interface */ +/* OH Buffer队列接口 */ /*---------------------------------------------------------------------------*/ extern const SLInterfaceID SL_IID_OH_BUFFERQUEUE; @@ -58,7 +58,7 @@ typedef void (SLAPIENTRY *SlOHBufferQueueCallback)( SLuint32 size ); -/** OH Buffer queue state **/ +/** OH Buffer队列状态 **/ typedef struct SLOHBufferQueueState_ { SLuint32 count; -- Gitee From b28d7162f3963cb87f7baef60588fa026edf8f62 Mon Sep 17 00:00:00 2001 From: liuyuehua1 Date: Mon, 23 May 2022 09:42:20 +0800 Subject: [PATCH 3/5] Defect improvement. Signed-off-by: liuyuehua1 --- zh-cn/native_sdk/OpenSLES_OpenHarmony.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h index 41108b1f..a73f51f0 100644 --- a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h +++ b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h @@ -48,11 +48,11 @@ typedef const struct SLOHBufferQueueItf_ * const * SLOHBufferQueueItf; * @param self 表示调用该函数的BufferQueue接口对象 * @param pContext 播放时表示播放音频文件,录音时表示录音存储文件 * @param size 表示一次播放或录音时的buffer数据长度 - * @return + * @return * @since 9 * @version 1.0 */ -typedef void (SLAPIENTRY *SlOHBufferQueueCallback)( +typedef void (SLAPIENTRY *SlOHBufferQueueCallback) ( SLOHBufferQueueItf caller, void *pContext, SLuint32 size -- Gitee From 709421b134a764bced92790d4b566fbdf2b9b4ad Mon Sep 17 00:00:00 2001 From: liuyuehua1 Date: Mon, 23 May 2022 09:59:18 +0800 Subject: [PATCH 4/5] Format improvement. Signed-off-by: liuyuehua1 --- zh-cn/native_sdk/OpenSLES_OpenHarmony.h | 46 ++++++++++++------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h index a73f51f0..780afc1f 100644 --- a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h +++ b/zh-cn/native_sdk/OpenSLES_OpenHarmony.h @@ -59,13 +59,11 @@ typedef void (SLAPIENTRY *SlOHBufferQueueCallback) ( ); /** OH Buffer队列状态 **/ - typedef struct SLOHBufferQueueState_ { SLuint32 count; SLuint32 index; } SLOHBufferQueueState; - struct SLOHBufferQueueItf_ { /** * @brief 根据情况将buffer加到相应队列中 @@ -80,11 +78,11 @@ struct SLOHBufferQueueItf_ { * @since 9 * @version 1.0 */ - SLresult (*Enqueue) ( - SLOHBufferQueueItf self, - const void *buffer, - SLuint32 size - ); +SLresult (*Enqueue) ( + SLOHBufferQueueItf self, + const void *buffer, + SLuint32 size +); /** * @brief 释放BufferQueue接口对象 @@ -94,9 +92,9 @@ struct SLOHBufferQueueItf_ { * @since 9 * @version 1.0 */ - SLresult (*Clear) ( - SLOHBufferQueueItf self - ); +SLresult (*Clear) ( + SLOHBufferQueueItf self +); /** * @brief 获取BufferQueue接口对象状态 @@ -107,10 +105,10 @@ struct SLOHBufferQueueItf_ { * @since 9 * @version 1.0 */ - SLresult (*GetState) ( - SLOHBufferQueueItf self, - SLOHBufferQueueState *state - ); +SLresult (*GetState) ( + SLOHBufferQueueItf self, + SLOHBufferQueueState *state +); /** * @brief 根据情况获取相应的buffer @@ -125,11 +123,11 @@ struct SLOHBufferQueueItf_ { * @since 9 * @version 1.0 */ - SLresult (*GetBuffer) ( - SLOHBufferQueueItf self, - SLuint8** buffer, - SLuint32& size - ); +SLresult (*GetBuffer) ( + SLOHBufferQueueItf self, + SLuint8** buffer, + SLuint32& size +); /** * @brief 注册回调函数 @@ -141,10 +139,10 @@ struct SLOHBufferQueueItf_ { * @since 9 * @version 1.0 */ - SLresult (*RegisterCallback) ( - SLOHBufferQueueItf self, - SlOHBufferQueueCallback callback, - void* pContext - ); +SLresult (*RegisterCallback) ( + SLOHBufferQueueItf self, + SlOHBufferQueueCallback callback, + void* pContext +); }; #endif -- Gitee From 14952083a01e4be2aac0eeb2fb0dc3b0f5877084 Mon Sep 17 00:00:00 2001 From: liuyuehua1 Date: Mon, 23 May 2022 10:20:18 +0800 Subject: [PATCH 5/5] File path change. Signed-off-by: liuyuehua1 --- zh-cn/native_sdk/{ => media}/OpenSLES_OpenHarmony.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename zh-cn/native_sdk/{ => media}/OpenSLES_OpenHarmony.h (100%) diff --git a/zh-cn/native_sdk/OpenSLES_OpenHarmony.h b/zh-cn/native_sdk/media/OpenSLES_OpenHarmony.h similarity index 100% rename from zh-cn/native_sdk/OpenSLES_OpenHarmony.h rename to zh-cn/native_sdk/media/OpenSLES_OpenHarmony.h -- Gitee