Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
f768bd79
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
f768bd79
编写于
12月 20, 2022
作者:
O
openharmony_ci
提交者:
Gitee
12月 20, 2022
浏览文件
操作
浏览文件
下载
差异文件
!12693 新增媒体子系统Native API,无需翻译
Merge pull request !12693 from zengyawen/master
上级
267e42b3
126da232
变更
45
显示空白变更内容
内联
并排
Showing
45 changed file
with
7965 addition
and
7 deletion
+7965
-7
zh-cn/application-dev/reference/native-apis/Readme-CN.md
zh-cn/application-dev/reference/native-apis/Readme-CN.md
+43
-1
zh-cn/application-dev/reference/native-apis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
...pis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
+44
-0
zh-cn/application-dev/reference/native-apis/_audio_decoder.md
...n/application-dev/reference/native-apis/_audio_decoder.md
+382
-0
zh-cn/application-dev/reference/native-apis/_audio_encoder.md
...n/application-dev/reference/native-apis/_audio_encoder.md
+382
-0
zh-cn/application-dev/reference/native-apis/_codec_base.md
zh-cn/application-dev/reference/native-apis/_codec_base.md
+573
-0
zh-cn/application-dev/reference/native-apis/_core.md
zh-cn/application-dev/reference/native-apis/_core.md
+592
-0
zh-cn/application-dev/reference/native-apis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md
...pis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md
+138
-0
zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md
.../reference/native-apis/_o_h___a_v_codec_async_callback.md
+29
-0
zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md
...dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md
+29
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
...-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
+400
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
...native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
+926
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
...e-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
+502
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md
...e/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md
+346
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
...apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
+217
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md
...-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md
+302
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
...pis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
+154
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
...e-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
+26
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
...ive-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
+97
-0
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md
...native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md
+55
-0
zh-cn/application-dev/reference/native-apis/_region.md
zh-cn/application-dev/reference/native-apis/_region.md
+0
-2
zh-cn/application-dev/reference/native-apis/_video_decoder.md
...n/application-dev/reference/native-apis/_video_decoder.md
+434
-0
zh-cn/application-dev/reference/native-apis/_video_encoder.md
...n/application-dev/reference/native-apis/_video_encoder.md
+456
-0
zh-cn/application-dev/reference/native-apis/av__session_8h.md
...n/application-dev/reference/native-apis/av__session_8h.md
+24
-0
zh-cn/application-dev/reference/native-apis/avcontrol__command_8h.md
...cation-dev/reference/native-apis/avcontrol__command_8h.md
+24
-0
zh-cn/application-dev/reference/native-apis/avmeta__data_8h.md
.../application-dev/reference/native-apis/avmeta__data_8h.md
+24
-0
zh-cn/application-dev/reference/native-apis/avplayback__state_8h.md
...ication-dev/reference/native-apis/avplayback__state_8h.md
+25
-0
zh-cn/application-dev/reference/native-apis/avsession.md
zh-cn/application-dev/reference/native-apis/avsession.md
+469
-0
zh-cn/application-dev/reference/native-apis/avsession__controller_8h.md
...ion-dev/reference/native-apis/avsession__controller_8h.md
+24
-0
zh-cn/application-dev/reference/native-apis/avsession__descriptor_8h.md
...ion-dev/reference/native-apis/avsession__descriptor_8h.md
+26
-0
zh-cn/application-dev/reference/native-apis/avsession__errors_8h.md
...ication-dev/reference/native-apis/avsession__errors_8h.md
+268
-0
zh-cn/application-dev/reference/native-apis/avsession__info_8h.md
...plication-dev/reference/native-apis/avsession__info_8h.md
+75
-0
zh-cn/application-dev/reference/native-apis/avsession__manager_8h.md
...cation-dev/reference/native-apis/avsession__manager_8h.md
+24
-0
zh-cn/application-dev/reference/native-apis/avsession__pixel__map_8h.md
...ion-dev/reference/native-apis/avsession__pixel__map_8h.md
+44
-0
zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md
...reference/native-apis/native__avcodec__audiodecoder_8h.md
+37
-0
zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md
...reference/native-apis/native__avcodec__audioencoder_8h.md
+37
-0
zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md
...ion-dev/reference/native-apis/native__avcodec__base_8h.md
+79
-0
zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md
...reference/native-apis/native__avcodec__videodecoder_8h.md
+39
-0
zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md
...reference/native-apis/native__avcodec__videoencoder_8h.md
+52
-0
zh-cn/application-dev/reference/native-apis/native__averrors_8h.md
...lication-dev/reference/native-apis/native__averrors_8h.md
+31
-0
zh-cn/application-dev/reference/native-apis/native__avformat_8h.md
...lication-dev/reference/native-apis/native__avformat_8h.md
+54
-0
zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md
...lication-dev/reference/native-apis/native__avmemory_8h.md
+32
-0
zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md
...pis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md
+37
-0
zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
...pis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
+328
-0
zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
...pis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
+41
-0
zh-cn/application-dev/website.md
zh-cn/application-dev/website.md
+44
-4
未找到文件。
zh-cn/application-dev/reference/native-apis/Readme-CN.md
浏览文件 @
f768bd79
...
@@ -12,6 +12,13 @@
...
@@ -12,6 +12,13 @@
-
[
Rawfile
](
rawfile.md
)
-
[
Rawfile
](
rawfile.md
)
-
[
MindSpore
](
_mind_spore.md
)
-
[
MindSpore
](
_mind_spore.md
)
-
[
NeuralNeworkRuntime
](
_neural_nework_runtime.md
)
-
[
NeuralNeworkRuntime
](
_neural_nework_runtime.md
)
-
[
Avsession
](
avsession.md
)
-
[
AudioDecoder
](
_audio_decoder.md
)
-
[
AudioEncoder
](
_audio_encoder.md
)
-
[
CodecBase
](
_codec_base.md
)
-
[
VideoDecoder
](
_video_decoder.md
)
-
[
VideoEncoder
](
_video_encoder.md
)
-
[
Core
](
_core.md
)
-
头文件
-
头文件
-
[
drawing_bitmap.h
](
drawing__bitmap_8h.md
)
-
[
drawing_bitmap.h
](
drawing__bitmap_8h.md
)
-
[
drawing_brush.h
](
drawing__brush_8h.md
)
-
[
drawing_brush.h
](
drawing__brush_8h.md
)
...
@@ -42,6 +49,24 @@
...
@@ -42,6 +49,24 @@
-
[
types.h
](
types_8h.md
)
-
[
types.h
](
types_8h.md
)
-
[
neural_network_runtime_type.h
](
neural__network__runtime__type_8h.md
)
-
[
neural_network_runtime_type.h
](
neural__network__runtime__type_8h.md
)
-
[
neural_network_runtime.h
](
neural__network__runtime_8h.md
)
-
[
neural_network_runtime.h
](
neural__network__runtime_8h.md
)
-
[
av_session.h
](
av__session_8h.md
)
-
[
avcontrol_command.h
](
avcontrol__command_8h.md
)
-
[
avmeta_data.h
](
avmeta__data_8h.md
)
-
[
avplayback_state.h
](
avplayback__state_8h.md
)
-
[
avsession_controller.h
](
avsession__controller_8h.md
)
-
[
avsession_descriptor.h
](
avsession__descriptor_8h.md
)
-
[
avsession_errors.h
](
avsession__errors_8h.md
)
-
[
avsession_info.h
](
avsession__info_8h.md
)
-
[
avsession_manager.h
](
avsession__manager_8h.md
)
-
[
avsession_pixel_map.h
](
avsession__pixel__map_8h.md
)
-
[
native_avcodec_audiodecoder.h
](
native__avcodec__audiodecoder_8h.md
)
-
[
native_avcodec_audioencoder.h
](
native__avcodec__audioencoder_8h.md
)
-
[
native_avcodec_base.h
](
native__avcodec__base_8h.md
)
-
[
native_avcodec_videodecoder.h
](
native__avcodec__videodecoder_8h.md
)
-
[
native_avcodec_videoencoder.h
](
native__avcodec__videoencoder_8h.md
)
-
[
native_averrors.h
](
native__averrors_8h.md
)
-
[
native_avformat.h
](
native__avformat_8h.md
)
-
[
native_avmemory.h
](
native__avmemory_8h.md
)
-
结构体
-
结构体
-
[
OH_Drawing_BitmapFormat
](
_o_h___drawing___bitmap_format.md
)
-
[
OH_Drawing_BitmapFormat
](
_o_h___drawing___bitmap_format.md
)
-
[
OH_NativeBuffer_Config
](
_o_h___native_buffer___config.md
)
-
[
OH_NativeBuffer_Config
](
_o_h___native_buffer___config.md
)
...
@@ -63,3 +88,20 @@
...
@@ -63,3 +88,20 @@
-
[
OH_NN_QuantParam
](
_o_h___n_n___quant_param.md
)
-
[
OH_NN_QuantParam
](
_o_h___n_n___quant_param.md
)
-
[
OH_NN_Tensor
](
_o_h___n_n___tensor.md
)
-
[
OH_NN_Tensor
](
_o_h___n_n___tensor.md
)
-
[
OH_NN_UInt32Array
](
_o_h___n_n___u_int32_array.md
)
-
[
OH_NN_UInt32Array
](
_o_h___n_n___u_int32_array.md
)
-
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
-
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
-
[
OHOS::AVSession::AVControlCommand
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
)
-
[
OHOS::AVSession::AVControllerCallback
](
_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md
)
-
[
OHOS::AVSession::AVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
-
[
OHOS::AVSession::AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
-
[
OHOS::AVSession::AVPlaybackState::Position
](
_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
)
-
[
OHOS::AVSession::AVSession
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md
)
-
[
OHOS::AVSession::AVSessionBasicInfo
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md
)
-
[
OHOS::AVSession::AVSessionCallback
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
)
-
[
OHOS::AVSession::AVSessionController
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
)
-
[
OHOS::AVSession::AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
-
[
OHOS::AVSession::AVSessionManager
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md
)
-
[
OHOS::AVSession::AVSessionPixelMap
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
)
-
[
OHOS::AVSession::OutputDeviceInfo
](
_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
)
-
[
OHOS::AVSession::SessionListener
](
_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
)
-
[
OHOS::AVSession::SessionToken
](
_o_h_o_s_1_1_a_v_session_1_1_session_token.md
)
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVPlaybackState::Position
## 概述
播放位置的相关信息。
**Since:**
9
**Version:**
1.
0
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
elapsedTime_
](
#elapsedtime
)
{} | int64_t
<br/>
媒体已经播放的时间点,第x
ms,单位为ms
|
|
[
updateTime_
](
#updatetime
)
{} | int64_t
<br/>
更新的时间戳,单位为ms
|
## 结构体成员变量说明
### elapsedTime_
```
int64_t OHOS::AVSession::AVPlaybackState::Position::elapsedTime_ {}
```
**描述:**
媒体已经播放的时间点,第x ms,单位为ms
### updateTime_
```
int64_t OHOS::AVSession::AVPlaybackState::Position::updateTime_ {}
```
**描述:**
更新的时间戳,单位为ms
zh-cn/application-dev/reference/native-apis/_audio_decoder.md
0 → 100644
浏览文件 @
f768bd79
# AudioDecoder
## 概述
AudioDecoder模块提供用于音频解码功能的函数。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**Since:**
9
**Version:**
1.
0
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
native_avcodec_audiodecoder.h
](
native__avcodec__audiodecoder_8h.md
)
| 声明用于音频解码的Native API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AudioDecoder_CreateByMime
](
#oh_audiodecoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_AudioDecoder_CreateByName
](
#oh_audiodecoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
|
[
OH_AudioDecoder_Destroy
](
#oh_audiodecoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部资源,并销毁解码器实例 |
|
[
OH_AudioDecoder_SetCallback
](
#oh_audiodecoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioDecoder_Configure
](
#oh_audiodecoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioDecoder_Prepare
](
#oh_audiodecoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_AudioDecoder_Start
](
#oh_audiodecoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_AudioDecoder_Stop
](
#oh_audiodecoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
|
[
OH_AudioDecoder_Flush
](
#oh_audiodecoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_AudioDecoder_Reset
](
#oh_audiodecoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
|
[
OH_AudioDecoder_GetOutputDescription
](
#oh_audiodecoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
|
[
OH_AudioDecoder_SetParameter
](
#oh_audiodecoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
|
[
OH_AudioDecoder_PushInputData
](
#oh_audiodecoder_pushinputdata
)
(
OH_AVCodec
\*
codec, uint32_t index,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
attr) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将填充好数据的输入Buffer提交给音频解码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 |
|
[
OH_AudioDecoder_FreeOutputData
](
#oh_audiodecoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给解码器。 |
## 函数说明
### OH_AudioDecoder_Configure()
```
OH_AVErrCode OH_AudioDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat的指针,用以给出待解码音频轨道的描述信息 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_CreateByMime()
```
OH_AVCodec* OH_AudioDecoder_CreateByMime (const char * mime)
```
**描述:**
通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mime | mime类型描述字符串,参考
[
OH_AVCODEC_MIMETYPE_AUDIO_AAC
](
_codec_base.md#oh_avcodec_mimetype_audio_aac
)
|
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_AudioDecoder_CreateByName()
```
OH_AVCodec* OH_AudioDecoder_CreateByName (const char * name)
```
**描述:**
通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| name | 音频解码器名称 |
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_AudioDecoder_Destroy()
```
OH_AVErrCode OH_AudioDecoder_Destroy (OH_AVCodec * codec)
```
**描述:**
清空解码器内部资源,并销毁解码器实例
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_Flush()
```
OH_AVErrCode OH_AudioDecoder_Flush (OH_AVCodec * codec)
```
**描述:**
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_FreeOutputData()
```
OH_AVErrCode OH_AudioDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
**描述:**
将处理结束的输出Buffer交还给解码器。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_GetOutputDescription()
```
OH_AVFormat* OH_AudioDecoder_GetOutputDescription (OH_AVCodec * codec)
```
**描述:**
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
返回OH_AVFormat句柄指针,需调用者手动释放;
### OH_AudioDecoder_Prepare()
```
OH_AVErrCode OH_AudioDecoder_Prepare (OH_AVCodec * codec)
```
**描述:**
准备解码器内部资源,调用该接口前必须先调用Configure接口。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_PushInputData()
```
OH_AVErrCode OH_AudioDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
```
**描述:**
将填充好数据的输入Buffer提交给音频解码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输入Buffer对应的索引值 |
| attr | 描述该Buffer内所包含数据的信息 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_Reset()
```
OH_AVErrCode OH_AudioDecoder_Reset (OH_AVCodec * codec)
```
**描述:**
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_SetCallback()
```
OH_AVErrCode OH_AudioDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
**描述:**
设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
|
| userData | 用户特定数据 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_SetParameter()
```
OH_AVErrCode OH_AudioDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_Start()
```
OH_AVErrCode OH_AudioDecoder_Start (OH_AVCodec * codec)
```
**描述:**
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioDecoder_Stop()
```
OH_AVErrCode OH_AudioDecoder_Stop (OH_AVCodec * codec)
```
**描述:**
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。
@syscap SystemCapability.Multimedia.Media.AudioDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
zh-cn/application-dev/reference/native-apis/_audio_encoder.md
0 → 100644
浏览文件 @
f768bd79
# AudioEncoder
## 概述
AudioEncoder模块提供用于音频编码功能的函数。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**Since:**
9
**Version:**
1.
0
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
native_avcodec_audioencoder.h
](
native__avcodec__audioencoder_8h.md
)
| 声明用于音频编码的Native API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AudioEncoder_CreateByMime
](
#oh_audioencoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_AudioEncoder_CreateByName
](
#oh_audioencoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
|
[
OH_AudioEncoder_Destroy
](
#oh_audioencoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部资源,并销毁编码器实例。 |
|
[
OH_AudioEncoder_SetCallback
](
#oh_audioencoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioEncoder_Configure
](
#oh_audioencoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioEncoder_Prepare
](
#oh_audioencoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_AudioEncoder_Start
](
#oh_audioencoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_AudioEncoder_Stop
](
#oh_audioencoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止编码器。在停止后可通过Start重新进入Started状态。 |
|
[
OH_AudioEncoder_Flush
](
#oh_audioencoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_AudioEncoder_Reset
](
#oh_audioencoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
|
[
OH_AudioEncoder_GetOutputDescription
](
#oh_audioencoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
|
[
OH_AudioEncoder_SetParameter
](
#oh_audioencoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
|
[
OH_AudioEncoder_PushInputData
](
#oh_audioencoder_pushinputdata
)
(
OH_AVCodec
\*
codec, uint32_t index,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
attr) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将填充好数据的输入Buffer提交给音频编码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 |
|
[
OH_AudioEncoder_FreeOutputData
](
#oh_audioencoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给编码器。 |
## 函数说明
### OH_AudioEncoder_Configure()
```
OH_AVErrCode OH_AudioEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_CreateByMime()
```
OH_AVCodec* OH_AudioEncoder_CreateByMime (const char * mime)
```
**描述:**
通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mime | mime类型描述字符串,参考
[
OH_AVCODEC_MIMETYPE_AUDIO_AAC
](
_codec_base.md#oh_avcodec_mimetype_audio_aac
)
|
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_AudioEncoder_CreateByName()
```
OH_AVCodec* OH_AudioEncoder_CreateByName (const char * name)
```
**描述:**
通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| name | 音频编码器名称 |
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_AudioEncoder_Destroy()
```
OH_AVErrCode OH_AudioEncoder_Destroy (OH_AVCodec * codec)
```
**描述:**
清空编码器内部资源,并销毁编码器实例。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_Flush()
```
OH_AVErrCode OH_AudioEncoder_Flush (OH_AVCodec * codec)
```
**描述:**
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_FreeOutputData()
```
OH_AVErrCode OH_AudioEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
**描述:**
将处理结束的输出Buffer交还给编码器。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_GetOutputDescription()
```
OH_AVFormat* OH_AudioEncoder_GetOutputDescription (OH_AVCodec * codec)
```
**描述:**
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
返回OH_AVFormat句柄指针,需调用者手动释放;
### OH_AudioEncoder_Prepare()
```
OH_AVErrCode OH_AudioEncoder_Prepare (OH_AVCodec * codec)
```
**描述:**
准备编码器内部资源,调用该接口前必须先调用Configure接口。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_PushInputData()
```
OH_AVErrCode OH_AudioEncoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
```
**描述:**
将填充好数据的输入Buffer提交给音频编码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输入Buffer对应的索引值 |
| attr | 描述该Buffer内所包含数据的信息 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_Reset()
```
OH_AVErrCode OH_AudioEncoder_Reset (OH_AVCodec * codec)
```
**描述:**
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_SetCallback()
```
OH_AVErrCode OH_AudioEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
**描述:**
设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
|
| userData | 用户特定数据 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_SetParameter()
```
OH_AVErrCode OH_AudioEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_Start()
```
OH_AVErrCode OH_AudioEncoder_Start (OH_AVCodec * codec)
```
**描述:**
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_AudioEncoder_Stop()
```
OH_AVErrCode OH_AudioEncoder_Stop (OH_AVCodec * codec)
```
**描述:**
停止编码器。在停止后可通过Start重新进入Started状态。
@syscap SystemCapability.Multimedia.Media.AudioEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
zh-cn/application-dev/reference/native-apis/_codec_base.md
0 → 100644
浏览文件 @
f768bd79
# CodecBase
## 概述
CodecBase模块提供运行音视频编解码通用的结构体、字符常量、枚举。
@syscap SystemCapability.Multimedia.Media.CodecBase
**Since:**
9
**Version:**
1.
0
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
native_avcodec_base.h
](
native__avcodec__base_8h.md
)
| 声明运行音视频编解码通用的结构体、字符常量、枚举。 |
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
| struct
<br/>
定义OH_AVCodec的Buffer描述信息。 |
|
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
| struct
<br/>
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
**OHNativeWindow**
| typedef struct NativeWindow |
|
**OH_AVCodec**
| typedef struct OH_AVCodec |
|
[
OH_AVCodecBufferFlags
](
#oh_avcodecbufferflags
)
| typedef enum
[
OH_AVCodecBufferFlags
](
#oh_avcodecbufferflags
)
<br/>
枚举OH_AVCodec的Buffer标记的类别。 |
|
[
OH_AVCodecBufferAttr
](
#oh_avcodecbufferattr
)
| typedef struct
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
<br/>
定义OH_AVCodec的Buffer描述信息。 |
|
[
OH_AVCodecOnError
](
#oh_avcodeconerror
)
) (OH_AVCodec
\*
codec, int32_t errorCode, void
\*
userData) | typedef void(
\*
<br/>
当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 |
|
[
OH_AVCodecOnStreamChanged
](
#oh_avcodeconstreamchanged
)
) (OH_AVCodec
\*
codec, OH_AVFormat
\*
format, void
\*
userData) | typedef void(
\*
<br/>
当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 |
|
[
OH_AVCodecOnNeedInputData
](
#oh_avcodeconneedinputdata
)
) (OH_AVCodec
\*
codec, uint32_t index, OH_AVMemory
\*
data, void
\*
userData) | typedef void(
\*
<br/>
当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 |
|
[
OH_AVCodecOnNewOutputData
](
#oh_avcodeconnewoutputdata
)
) (OH_AVCodec
\*
codec, uint32_t index, OH_AVMemory
\*
data,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
\*
attr, void
\*
userData) | typedef void(
\*
<br/>
当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 |
|
[
OH_AVCodecAsyncCallback
](
#oh_avcodecasynccallback
)
| typedef struct
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
<br/>
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
|
[
OH_MediaType
](
#oh_mediatype
)
| typedef enum
[
OH_MediaType
](
#oh_mediatype
)
<br/>
媒体类型。 |
|
[
OH_AVCProfile
](
#oh_avcprofile
)
| typedef enum
[
OH_AVCProfile
](
#oh_avcprofile
)
<br/>
AVC Profile枚举。 |
|
[
OH_AACProfile
](
#oh_aacprofile
)
| typedef enum
[
OH_AACProfile
](
#oh_aacprofile
)
<br/>
AAC Profile枚举。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVCodecBufferFlags
](
#oh_avcodecbufferflags
)
{
<br/>
**AVCODEC_BUFFER_FLAGS_NONE**
= 0,
**AVCODEC_BUFFER_FLAGS_EOS**
= 1
<<
0,
**AVCODEC_BUFFER_FLAGS_SYNC_FRAME**
= 1
<<
1,
**AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME**
= 1
<<
2,
**AVCODEC_BUFFER_FLAGS_CODEC_DATA**
= 1
<<
3
<br/>
} | 枚举OH_AVCodec的Buffer标记的类别。 |
|
[
OH_MediaType
](
#oh_mediatype
)
{
**MEDIA_TYPE_AUD**
= 0,
**MEDIA_TYPE_VID**
= 1 } | 媒体类型。 |
|
[
OH_AVCProfile
](
#oh_avcprofile
)
{
**AVC_PROFILE_BASELINE**
= 0,
**AVC_PROFILE_HIGH**
= 4,
**AVC_PROFILE_MAIN**
= 8 } | AVC Profile枚举。 |
|
[
OH_AACProfile
](
#oh_aacprofile
)
{
**AAC_PROFILE_LC**
= 0 } | AAC Profile枚举。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVCodecBufferAttr::pts
](
#pts
)
| int64_t
<br/>
以微秒为单位表示的该Buffer的Presentation时间戳 |
|
[
OH_AVCodecBufferAttr::size
](
#size
)
| int32_t
<br/>
以字节为单位表示的该Buffer内所包含数据的大小 |
|
[
OH_AVCodecBufferAttr::offset
](
#offset
)
| int32_t
<br/>
有效数据在该Buffer内的起始偏移量 |
|
[
OH_AVCodecBufferAttr::flags
](
#flags
)
| uint32_t
<br/>
该Buffer具有的标记,也是多个
[
OH_AVCodecBufferFlags
](
#oh_avcodecbufferflags
)
的组合 |
|
**OH_AVCodecAsyncCallback::onError**
|
[
OH_AVCodecOnError
](
#oh_avcodeconerror
)
|
|
**OH_AVCodecAsyncCallback::onStreamChanged**
|
[
OH_AVCodecOnStreamChanged
](
#oh_avcodeconstreamchanged
)
|
|
**OH_AVCodecAsyncCallback::onNeedInputData**
|
[
OH_AVCodecOnNeedInputData
](
#oh_avcodeconneedinputdata
)
|
|
**OH_AVCodecAsyncCallback::onNeedOutputData**
|
[
OH_AVCodecOnNewOutputData
](
#oh_avcodeconnewoutputdata
)
|
|
[
OH_AVCODEC_MIMETYPE_VIDEO_AVC
](
#oh_avcodec_mimetype_video_avc
)
| const char
\*
<br/>
AVC视频编解码器的MIME类型。 |
|
[
OH_AVCODEC_MIMETYPE_AUDIO_AAC
](
#oh_avcodec_mimetype_audio_aac
)
| const char
\*
<br/>
AAC音频编解码器的MIME类型。 |
|
[
OH_ED_KEY_TIME_STAMP
](
#oh_ed_key_time_stamp
)
| const char
\*
<br/>
提供统一的surface Buffer附属数据的字符描述符。 |
|
[
OH_ED_KEY_EOS
](
#oh_ed_key_eos
)
| const char
\*
<br/>
surface附属数据中结束流的字符描述符,值类型为bool |
|
[
OH_MD_KEY_TRACK_TYPE
](
#oh_md_key_track_type
)
| const char
\*
<br/>
为媒体播放框架提供统一的字符描述符。 |
|
[
OH_MD_KEY_CODEC_MIME
](
#oh_md_key_codec_mime
)
| const char
\*
<br/>
mime类型的字符描述符,值类型为string |
|
[
OH_MD_KEY_DURATION
](
#oh_md_key_duration
)
| const char
\*
<br/>
duration的字符描述符,值类型为int64_t |
|
[
OH_MD_KEY_BITRATE
](
#oh_md_key_bitrate
)
| const char
\*
<br/>
比特率的字符描述符,值类型为uint32_t |
|
[
OH_MD_KEY_MAX_INPUT_SIZE
](
#oh_md_key_max_input_size
)
| const char
\*
<br/>
最大输入尺寸的字符描述符,值类型为uint32_t |
|
[
OH_MD_KEY_WIDTH
](
#oh_md_key_width
)
| const char
\*
<br/>
视频宽度的字符描述符,值类型为uint32_t |
|
[
OH_MD_KEY_HEIGHT
](
#oh_md_key_height
)
| const char
\*
<br/>
视频高度的字符描述符,值类型为uint32_t |
|
[
OH_MD_KEY_PIXEL_FORMAT
](
#oh_md_key_pixel_format
)
| const char
\*
<br/>
视频像素格式的字符描述符,值类型为int32_t,具体见
[
OH_AVPixelFormat
](
_core.md#oh_avpixelformat
)
|
|
[
OH_MD_KEY_AUDIO_SAMPLE_FORMAT
](
#oh_md_key_audio_sample_format
)
| const char
\*
<br/>
音频采样格式的字符描述符,值类型为uint32_t |
|
[
OH_MD_KEY_FRAME_RATE
](
#oh_md_key_frame_rate
)
| const char
\*
<br/>
视频帧率的字符描述符,值类型为double |
|
[
OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
](
#oh_md_key_video_encode_bitrate_mode
)
| const char
\*
<br/>
视频编码比特率模式的字符描述符,值类型为int32_t,具体见
[
OH_VideoEncodeBitrateMode
](
_video_encoder.md#oh_videoencodebitratemode
)
|
|
[
OH_MD_KEY_PROFILE
](
#oh_md_key_profile
)
| const char
\*
<br/>
音视频编码能力的字符描述符,值类型为int32_t,具体见
[
OH_AVCProfile
](
#oh_avcprofile
)
或
[
OH_AACProfile
](
#oh_aacprofile
)
|
|
[
OH_MD_KEY_AUD_CHANNEL_COUNT
](
#oh_md_key_aud_channel_count
)
| const char
\*
<br/>
音频声道数的字符描述符,值类型为uint32_t |
|
[
OH_MD_KEY_AUD_SAMPLE_RATE
](
#oh_md_key_aud_sample_rate
)
| const char
\*
<br/>
音频采样率的字符描述符,值类型为uint32_t |
|
[
OH_MD_KEY_I_FRAME_INTERVAL
](
#oh_md_key_i_frame_interval
)
| const char
\*
<br/>
I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒 |
|
[
OH_MD_KEY_ROTATION
](
#oh_md_key_rotation
)
| const char
\*
<br/>
surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0 |
## 类型定义说明
### OH_AACProfile
```
typedef enum OH_AACProfileOH_AACProfile
```
**描述:**
AAC Profile枚举。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCodecAsyncCallback
```
typedef struct OH_AVCodecAsyncCallbackOH_AVCodecAsyncCallback
```
**描述:**
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。
@syscap SystemCapability.Multimedia.Media.CodecBase
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| onError | 监听AVCodec运行错误,参考
[
OH_AVCodecOnError
](
#oh_avcodeconerror
)
|
| onStreamChanged | 监听编解码流信息,参考
[
OH_AVCodecOnStreamChanged
](
#oh_avcodeconstreamchanged
)
|
| onNeedInputData | 监听编解码需要输入数据,参考
[
OH_AVCodecOnNeedInputData
](
#oh_avcodeconneedinputdata
)
|
| onNeedInputData | 监听编解码产生输出数据,参考
[
OH_AVCodecOnNewOutputData
](
#oh_avcodeconnewoutputdata
)
|
### OH_AVCodecBufferAttr
```
typedef struct OH_AVCodecBufferAttrOH_AVCodecBufferAttr
```
**描述:**
定义OH_AVCodec的Buffer描述信息。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCodecBufferFlags
```
typedef enum OH_AVCodecBufferFlagsOH_AVCodecBufferFlags
```
**描述:**
枚举OH_AVCodec的Buffer标记的类别。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCodecOnError
```
typedef void(* OH_AVCodecOnError) (OH_AVCodec *codec, int32_t errorCode, void *userData)
```
**描述:**
当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。
@syscap SystemCapability.Multimedia.Media.CodecBase
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例 |
| errorCode | 具体错误码 |
| userData | 用户特定数据 |
### OH_AVCodecOnNeedInputData
```
typedef void(* OH_AVCodecOnNeedInputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, void *userData)
```
**描述:**
当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。
@syscap SystemCapability.Multimedia.Media.CodecBase
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例 |
| index | 新的可用的输入Buffer对应的索引 |
| data | 新的可用的输入Buffer |
| userData | 用户特定数据 |
### OH_AVCodecOnNewOutputData
```
typedef void(* OH_AVCodecOnNewOutputData) (OH_AVCodec *codec, uint32_t index, OH_AVMemory *data, OH_AVCodecBufferAttr *attr, void *userData)
```
**描述:**
当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。
@syscap SystemCapability.Multimedia.Media.CodecBase
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例 |
| index | 新的输出Buffer对应的索引 |
| data | 包含新的输出数据的Buffer |
| attr | 新的输出Buffer的描述信息,具体参考
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
|
| userData | specified data |
### OH_AVCodecOnStreamChanged
```
typedef void(* OH_AVCodecOnStreamChanged) (OH_AVCodec *codec, OH_AVFormat *format, void *userData)
```
**描述:**
当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。
@syscap SystemCapability.Multimedia.Media.CodecBase
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | OH_AVCodec实例 |
| format | 新的输出流描述信息 |
| userData | 用户特定数据 |
### OH_AVCProfile
```
typedef enum OH_AVCProfileOH_AVCProfile
```
**描述:**
AVC Profile枚举。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_MediaType
```
typedef enum OH_MediaTypeOH_MediaType
```
**描述:**
媒体类型。
@syscap SystemCapability.Multimedia.Media.CodecBase
## 枚举类型说明
### OH_AACProfile
```
enum OH_AACProfile
```
**描述:**
AAC Profile枚举。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCodecBufferFlags
```
enum OH_AVCodecBufferFlags
```
**描述:**
枚举OH_AVCodec的Buffer标记的类别。
@syscap SystemCapability.Multimedia.Media.CodecBase
| 枚举值 | 描述 |
| -------- | -------- |
| AVCODEC_BUFFER_FLAGS_EOS | 表明该Buffer是End-of-Stream帧 |
| AVCODEC_BUFFER_FLAGS_SYNC_FRAME | 表明该Buffer内包含关键帧 |
| AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME | 表明该Buffer内包含的数据仅仅为一帧的一部分 |
| AVCODEC_BUFFER_FLAGS_CODEC_DATA | 表明该Buffer包含Codec-Specific-Data |
### OH_AVCProfile
```
enum OH_AVCProfile
```
**描述:**
AVC Profile枚举。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_MediaType
```
enum OH_MediaType
```
**描述:**
媒体类型。
@syscap SystemCapability.Multimedia.Media.CodecBase
| 枚举值 | 描述 |
| -------- | -------- |
| MEDIA_TYPE_AUD | 音频轨道 |
| MEDIA_TYPE_VID | 视频轨道 |
## 变量说明
### flags
```
uint32_t OH_AVCodecBufferAttr::flags
```
**描述:**
该Buffer具有的标记,也是多个
[
OH_AVCodecBufferFlags
](
#oh_avcodecbufferflags
)
的组合
### offset
```
int32_t OH_AVCodecBufferAttr::offset
```
**描述:**
有效数据在该Buffer内的起始偏移量
### OH_AVCODEC_MIMETYPE_AUDIO_AAC
```
const char* OH_AVCODEC_MIMETYPE_AUDIO_AAC
```
**描述:**
AAC音频编解码器的MIME类型。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_AVCODEC_MIMETYPE_VIDEO_AVC
```
const char* OH_AVCODEC_MIMETYPE_VIDEO_AVC
```
**描述:**
AVC视频编解码器的MIME类型。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_ED_KEY_EOS
```
const char* OH_ED_KEY_EOS
```
**描述:**
surface附属数据中结束流的字符描述符,值类型为bool
### OH_ED_KEY_TIME_STAMP
```
const char* OH_ED_KEY_TIME_STAMP
```
**描述:**
提供统一的surface Buffer附属数据的字符描述符。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_MD_KEY_AUD_CHANNEL_COUNT
```
const char* OH_MD_KEY_AUD_CHANNEL_COUNT
```
**描述:**
音频声道数的字符描述符,值类型为uint32_t
### OH_MD_KEY_AUD_SAMPLE_RATE
```
const char* OH_MD_KEY_AUD_SAMPLE_RATE
```
**描述:**
音频采样率的字符描述符,值类型为uint32_t
### OH_MD_KEY_AUDIO_SAMPLE_FORMAT
```
const char* OH_MD_KEY_AUDIO_SAMPLE_FORMAT
```
**描述:**
音频采样格式的字符描述符,值类型为uint32_t
### OH_MD_KEY_BITRATE
```
const char* OH_MD_KEY_BITRATE
```
**描述:**
比特率的字符描述符,值类型为uint32_t
### OH_MD_KEY_CODEC_MIME
```
const char* OH_MD_KEY_CODEC_MIME
```
**描述:**
mime类型的字符描述符,值类型为string
### OH_MD_KEY_DURATION
```
const char* OH_MD_KEY_DURATION
```
**描述:**
duration的字符描述符,值类型为int64_t
### OH_MD_KEY_FRAME_RATE
```
const char* OH_MD_KEY_FRAME_RATE
```
**描述:**
视频帧率的字符描述符,值类型为double
### OH_MD_KEY_HEIGHT
```
const char* OH_MD_KEY_HEIGHT
```
**描述:**
视频高度的字符描述符,值类型为uint32_t
### OH_MD_KEY_I_FRAME_INTERVAL
```
const char* OH_MD_KEY_I_FRAME_INTERVAL
```
**描述:**
I帧间隔时长的字符描述符,值类型为int32_t,单位是毫秒
### OH_MD_KEY_MAX_INPUT_SIZE
```
const char* OH_MD_KEY_MAX_INPUT_SIZE
```
**描述:**
最大输入尺寸的字符描述符,值类型为uint32_t
### OH_MD_KEY_PIXEL_FORMAT
```
const char* OH_MD_KEY_PIXEL_FORMAT
```
**描述:**
视频像素格式的字符描述符,值类型为int32_t,具体见
[
OH_AVPixelFormat
](
_core.md#oh_avpixelformat
)
### OH_MD_KEY_PROFILE
```
const char* OH_MD_KEY_PROFILE
```
**描述:**
音视频编码能力的字符描述符,值类型为int32_t,具体见
[
OH_AVCProfile
](
#oh_avcprofile
)
或
[
OH_AACProfile
](
#oh_aacprofile
)
### OH_MD_KEY_ROTATION
```
const char* OH_MD_KEY_ROTATION
```
**描述:**
surface旋转角度的字符描述符,值类型为int32_t,限于{0, 90, 180, 270},默认值为0
### OH_MD_KEY_TRACK_TYPE
```
const char* OH_MD_KEY_TRACK_TYPE
```
**描述:**
为媒体播放框架提供统一的字符描述符。
@syscap SystemCapability.Multimedia.Media.CodecBase
### OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
```
const char* OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
```
**描述:**
视频编码比特率模式的字符描述符,值类型为int32_t,具体见
[
OH_VideoEncodeBitrateMode
](
_video_encoder.md#oh_videoencodebitratemode
)
### OH_MD_KEY_WIDTH
```
const char* OH_MD_KEY_WIDTH
```
**描述:**
视频宽度的字符描述符,值类型为uint32_t
### pts
```
int64_t OH_AVCodecBufferAttr::pts
```
**描述:**
以微秒为单位表示的该Buffer的Presentation时间戳
### size
```
int32_t OH_AVCodecBufferAttr::size
```
**描述:**
以字节为单位表示的该Buffer内所包含数据的大小
zh-cn/application-dev/reference/native-apis/_core.md
0 → 100644
浏览文件 @
f768bd79
# Core
## 概述
Core模块提供用于播放框架的基础骨干能力,包含内存、错误码、格式载体等相关函数。
@syscap SystemCapability.Multimedia.Media.Core
**Since:**
9
**Version:**
1.
0
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
native_averrors.h
](
native__averrors_8h.md
)
| 声明了媒体播放框架的错误码。 |
|
[
native_avformat.h
](
native__avformat_8h.md
)
| 声明了格式相关的函数和枚举。 |
|
[
native_avmemory.h
](
native__avmemory_8h.md
)
| 声明了AVMemory的函数接口。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVErrCode
](
#oh_averrcode
)
| typedef enum
[
OH_AVErrCode
](
#oh_averrcode
)
<br/>
音视频错误码。 |
|
**OH_AVFormat**
| typedef struct OH_AVFormat |
|
[
OH_AVPixelFormat
](
#oh_avpixelformat
)
| typedef enum
[
OH_AVPixelFormat
](
#oh_avpixelformat
)
<br/>
AVPixel 格式的枚举。 |
|
**OH_AVMemory**
| typedef struct OH_AVMemory |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVErrCode
](
#oh_averrcode
)
{
<br/>
**AV_ERR_OK**
= 0,
**AV_ERR_NO_MEMORY**
= 1,
**AV_ERR_OPERATE_NOT_PERMIT**
= 2,
**AV_ERR_INVALID_VAL**
= 3,
**AV_ERR_IO**
= 4,
**AV_ERR_TIMEOUT**
= 5,
**AV_ERR_UNKNOWN**
= 6,
**AV_ERR_SERVICE_DIED**
= 7,
**AV_ERR_INVALID_STATE**
= 8,
**AV_ERR_UNSUPPORT**
= 9,
**AV_ERR_EXTEND_START**
= 100
<br/>
} | 音视频错误码。 |
|
[
OH_AVPixelFormat
](
#oh_avpixelformat
)
{
<br/>
**AV_PIXEL_FORMAT_YUVI420**
= 1,
**AV_PIXEL_FORMAT_NV12**
= 2,
**AV_PIXEL_FORMAT_NV21**
= 3,
**AV_PIXEL_FORMAT_SURFACE_FORMAT**
= 4,
**AV_PIXEL_FORMAT_RGBA**
= 5
<br/>
} | AVPixel 格式的枚举。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVFormat_Create
](
#oh_avformat_create
)
(
void
)
| struct OH_AVFormat
\*
<br/>
创建一个OH_AVFormat句柄指针,用以读写数据。 |
|
[
OH_AVFormat_Destroy
](
#oh_avformat_destroy
)
(
struct
OH_AVFormat
\*
format) | void
<br/>
销毁指定OH_AVFormat句柄资源。 |
|
[
OH_AVFormat_Copy
](
#oh_avformat_copy
)
(
struct
OH_AVFormat
\*
to, struct OH_AVFormat
\*
from) | bool
<br/>
拷贝OH_AVFormat句柄资源. |
|
[
OH_AVFormat_SetIntValue
](
#oh_avformat_setintvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int32_t value) | bool
<br/>
向OH_AVFormat写入Int数据. |
|
[
OH_AVFormat_SetLongValue
](
#oh_avformat_setlongvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int64_t value) | bool
<br/>
向OH_AVFormat写入Long数据。 |
|
[
OH_AVFormat_SetFloatValue
](
#oh_avformat_setfloatvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, float value) | bool
<br/>
向OH_AVFormat写入Float数据。 |
|
[
OH_AVFormat_SetDoubleValue
](
#oh_avformat_setdoublevalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, double value) | bool
<br/>
向OH_AVFormat写入Double数据。 |
|
[
OH_AVFormat_SetStringValue
](
#oh_avformat_setstringvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, const char
\*
value) | bool
<br/>
向OH_AVFormat写入String数据。 |
|
[
OH_AVFormat_SetBuffer
](
#oh_avformat_setbuffer
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, const uint8_t
\*
addr, size_t size) | bool
<br/>
向OH_AVFormat写入一块指定长度的数据。 |
|
[
OH_AVFormat_GetIntValue
](
#oh_avformat_getintvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int32_t
\*
out) | bool
<br/>
从OH_AVFormat读取Int数据。 |
|
[
OH_AVFormat_GetLongValue
](
#oh_avformat_getlongvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int64_t
\*
out) | bool
<br/>
从OH_AVFormat读取Long数据。 |
|
[
OH_AVFormat_GetFloatValue
](
#oh_avformat_getfloatvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, float
\*
out) | bool
<br/>
从OH_AVFormat读取Float数据。 |
|
[
OH_AVFormat_GetDoubleValue
](
#oh_avformat_getdoublevalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, double
\*
out) | bool
<br/>
从OH_AVFormat读取Double数据。 |
|
[
OH_AVFormat_GetStringValue
](
#oh_avformat_getstringvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, const char
\*\*
out) | bool
<br/>
从OH_AVFormat读取Double数据。 |
|
[
OH_AVFormat_GetBuffer
](
#oh_avformat_getbuffer
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, uint8_t
\*\*
addr, size_t
\*
size) | bool
<br/>
从OH_AVFormat读取一块指定长度的数据。 |
|
[
OH_AVFormat_DumpInfo
](
#oh_avformat_dumpinfo
)
(
struct
OH_AVFormat
\*
format) | const char
\*
<br/>
以字符串的形式输出OH_AVFormat所包含的信息。 |
|
[
OH_AVMemory_GetAddr
](
#oh_avmemory_getaddr
)
(
struct
OH_AVMemory
\*
mem) | uint8_t
\*
<br/>
获取入参的内存虚拟地址。 |
|
[
OH_AVMemory_GetSize
](
#oh_avmemory_getsize
)
(
struct
OH_AVMemory
\*
mem) | int32_t
<br/>
获取入参的内存长度。 |
## 类型定义说明
### OH_AVErrCode
```
typedef enum OH_AVErrCodeOH_AVErrCode
```
**描述:**
音视频错误码。
@syscap SystemCapability.Multimedia.Media.Core
### OH_AVPixelFormat
```
typedef enum OH_AVPixelFormatOH_AVPixelFormat
```
**描述:**
AVPixel 格式的枚举。
@syscap SystemCapability.Multimedia.Media.Core
## 枚举类型说明
### OH_AVErrCode
```
enum OH_AVErrCode
```
**描述:**
音视频错误码。
@syscap SystemCapability.Multimedia.Media.Core
| 枚举值 | 描述 |
| -------- | -------- |
| AV_ERR_OK | 操作成功 |
| AV_ERR_NO_MEMORY | 无内存 |
| AV_ERR_OPERATE_NOT_PERMIT | 无效参数 |
| AV_ERR_INVALID_VAL | 无效值 |
| AV_ERR_IO | IO 错误 |
| AV_ERR_TIMEOUT | 超时错误 |
| AV_ERR_UNKNOWN | 未知错误 |
| AV_ERR_SERVICE_DIED | 媒体服务死亡 |
| AV_ERR_INVALID_STATE | 当前状态不支持此操作 |
| AV_ERR_UNSUPPORT | 未支持的接口 |
| AV_ERR_EXTEND_START | 扩展错误码初始值 |
### OH_AVPixelFormat
```
enum OH_AVPixelFormat
```
**描述:**
AVPixel 格式的枚举。
@syscap SystemCapability.Multimedia.Media.Core
| 枚举值 | 描述 |
| -------- | -------- |
| AV_PIXEL_FORMAT_YUVI420 | yuv 420 planar |
| AV_PIXEL_FORMAT_NV12 | NV12. yuv 420 semiplanar |
| AV_PIXEL_FORMAT_NV21 | NV21. yvu 420 semiplanar |
| AV_PIXEL_FORMAT_SURFACE_FORMAT | surface格式 |
| AV_PIXEL_FORMAT_RGBA | RGBA8888 |
## 函数说明
### OH_AVFormat_Copy()
```
bool OH_AVFormat_Copy (struct OH_AVFormat * to, struct OH_AVFormat * from )
```
**描述:**
拷贝OH_AVFormat句柄资源.
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| to | 接收数据的OH_AVFormat句柄指针 |
| from | 被拷贝数据的OH_AVFormat句柄指针 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_Create()
```
struct OH_AVFormat* OH_AVFormat_Create (void )
```
**描述:**
创建一个OH_AVFormat句柄指针,用以读写数据。
@syscap SystemCapability.Multimedia.Media.Core
**返回:**
返回OH_AVFormat实例的指针
### OH_AVFormat_Destroy()
```
void OH_AVFormat_Destroy (struct OH_AVFormat * format)
```
**描述:**
销毁指定OH_AVFormat句柄资源。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
**返回:**
void
### OH_AVFormat_DumpInfo()
```
const char* OH_AVFormat_DumpInfo (struct OH_AVFormat * format)
```
**描述:**
以字符串的形式输出OH_AVFormat所包含的信息。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
**返回:**
返回由键值和数据组成的字符串指针
### OH_AVFormat_GetBuffer()
```
bool OH_AVFormat_GetBuffer (struct OH_AVFormat * format, const char * key, uint8_t ** addr, size_t * size )
```
**描述:**
从OH_AVFormat读取一块指定长度的数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 读写数据的键值 |
| addr | 生命周期是format持有,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝 |
| size | 读写数据的长度 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_GetDoubleValue()
```
bool OH_AVFormat_GetDoubleValue (struct OH_AVFormat * format, const char * key, double * out )
```
**描述:**
从OH_AVFormat读取Double数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 读取数据的键值 |
| out | 读取的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_GetFloatValue()
```
bool OH_AVFormat_GetFloatValue (struct OH_AVFormat * format, const char * key, float * out )
```
**描述:**
从OH_AVFormat读取Float数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 读取数据的键值 |
| out | 读取的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_GetIntValue()
```
bool OH_AVFormat_GetIntValue (struct OH_AVFormat * format, const char * key, int32_t * out )
```
**描述:**
从OH_AVFormat读取Int数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 读取数据的键值 |
| out | 读取的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_GetLongValue()
```
bool OH_AVFormat_GetLongValue (struct OH_AVFormat * format, const char * key, int64_t * out )
```
**描述:**
从OH_AVFormat读取Long数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 读取数据的键值 |
| out | 读取的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_GetStringValue()
```
bool OH_AVFormat_GetStringValue (struct OH_AVFormat * format, const char * key, const char ** out )
```
**描述:**
从OH_AVFormat读取Double数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 读取数据的键值 |
| out | 读取的字符串指针,指向的数据生命周期伴随GetString更新,伴随format销毁,如果调用者需要长期持有,必须进行内存拷贝 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_SetBuffer()
```
bool OH_AVFormat_SetBuffer (struct OH_AVFormat * format, const char * key, const uint8_t * addr, size_t size )
```
**描述:**
向OH_AVFormat写入一块指定长度的数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 写入数据的键值 |
| addr | 写入的数据地址 |
| size | 写入的数据长度 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_SetDoubleValue()
```
bool OH_AVFormat_SetDoubleValue (struct OH_AVFormat * format, const char * key, double value )
```
**描述:**
向OH_AVFormat写入Double数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 写入数据的键值 |
| value | 写入的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_SetFloatValue()
```
bool OH_AVFormat_SetFloatValue (struct OH_AVFormat * format, const char * key, float value )
```
**描述:**
向OH_AVFormat写入Float数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 写入数据的键值 |
| value | 写入的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_SetIntValue()
```
bool OH_AVFormat_SetIntValue (struct OH_AVFormat * format, const char * key, int32_t value )
```
**描述:**
向OH_AVFormat写入Int数据.
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 写入数据的键值 |
| value | 写入的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_SetLongValue()
```
bool OH_AVFormat_SetLongValue (struct OH_AVFormat * format, const char * key, int64_t value )
```
**描述:**
向OH_AVFormat写入Long数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 写入数据的键值 |
| value | 写入的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVFormat_SetStringValue()
```
bool OH_AVFormat_SetStringValue (struct OH_AVFormat * format, const char * key, const char * value )
```
**描述:**
向OH_AVFormat写入String数据。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| format | 指向OH_AVFormat实例的指针 |
| key | 写入数据的键值 |
| value | 写入的数据 |
**返回:**
返回值为TRUE表示成功
返回值为FALSE表示失败
### OH_AVMemory_GetAddr()
```
uint8_t* OH_AVMemory_GetAddr (struct OH_AVMemory * mem)
```
**描述:**
获取入参的内存虚拟地址。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mem | 指向OH_AVMemory实例的指针 |
**返回:**
如果内存有效,返回内存的虚拟地址
如果内存无效,返回nullptr
### OH_AVMemory_GetSize()
```
int32_t OH_AVMemory_GetSize (struct OH_AVMemory * mem)
```
**描述:**
获取入参的内存长度。
@syscap SystemCapability.Multimedia.Media.Core
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mem | 指向OH_AVMemory实例的指针 |
**返回:**
如果内存有效,返回内存长度
如果内存无效,返回-1
zh-cn/application-dev/reference/native-apis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVControllerCallback
## 概述
定义控制器相关回调操作的类的实现。
**Since:**
9
**Version:**
1.
0
## 汇总
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OnSessionDestroy
](
#onsessiondestroy
)
()=0 | AVSession会话销毁的抽象的回调方法。
|
|
[
OnPlaybackStateChange
](
#onplaybackstatechange
)
(const
[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)
&
state)=0 | 音视频的播放状态发生改变的抽象的回调方法。
|
|
[
OnMetaDataChange
](
#onmetadatachange
)
(const
[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)
&
data)=0 | 会话元数据内容发生变化的抽象的回调方法。
|
|
[
OnActiveStateChange
](
#onactivestatechange
)
(bool
isActive)=0 | 当前会话激活状态发生改变的抽象的回调方法。
|
|
[
OnValidCommandChange
](
#onvalidcommandchange
)
(const
std::vector
<
int32_t
> &
cmds)=0 | 控制命令的有效性发生变化的抽象的回调方法。
|
|
[
OnOutputDeviceChange
](
#onoutputdevicechange
)
(const
[OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)
&
outputDeviceInfo)=0 | 注册会话输出设备更改。
|
|
[
~AVControllerCallback
](
#avcontrollercallback
)
()=default | AVControllerCallback的默认的析构函数。
|
## 构造及析构函数说明
### ~AVControllerCallback()
```
virtual OHOS::AVSession::AVControllerCallback::~AVControllerCallback ()
```
**描述:**
AVControllerCallback的默认的析构函数。
## 成员函数说明
### OnActiveStateChange()
```
virtual void OHOS::AVSession::AVControllerCallback::OnActiveStateChange (bool isActive)
```
**描述:**
当前会话激活状态发生改变的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| isActive | 表示是否激活。
|
### OnMetaDataChange()
```
virtual void OHOS::AVSession::AVControllerCallback::OnMetaDataChange (const AVMetaData & data)
```
**描述:**
会话元数据内容发生变化的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 会话元数据内容,类型为
[
AVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
。
|
**参见:**
[
AVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
### OnOutputDeviceChange()
```
virtual void OHOS::AVSession::AVControllerCallback::OnOutputDeviceChange (const OutputDeviceInfo & outputDeviceInfo)
```
**描述:**
注册会话输出设备更改。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| outputDeviceInfo | 输出设备信息
[OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)。
|
### OnPlaybackStateChange()
```
virtual void OHOS::AVSession::AVControllerCallback::OnPlaybackStateChange (const AVPlaybackState & state)
```
**描述:**
音视频的播放状态发生改变的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| state | 音视频的播放状态的枚举值,类型为
[
AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
。
|
### OnSessionDestroy()
```
virtual void OHOS::AVSession::AVControllerCallback::OnSessionDestroy ()
```
**描述:**
AVSession会话销毁的抽象的回调方法。
### OnValidCommandChange()
```
virtual void OHOS::AVSession::AVControllerCallback::OnValidCommandChange (const std::vector< int32_t > & cmds)
```
**描述:**
控制命令的有效性发生变化的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cmds,媒体有效的指令列表,范围为{ | |
<!--no_check-->
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_async_callback.md
0 → 100644
浏览文件 @
f768bd79
# OH_AVCodecAsyncCallback
## 概述
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。
@syscap SystemCapability.Multimedia.Media.CodecBase
参数
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
CodecBase
](
_codec_base.md
)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
**onError**
|
[
OH_AVCodecOnError
](
_codec_base.md#oh_avcodeconerror
)
|
|
**onStreamChanged**
|
[
OH_AVCodecOnStreamChanged
](
_codec_base.md#oh_avcodeconstreamchanged
)
|
|
**onNeedInputData**
|
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
|
|
**onNeedOutputData**
|
[
OH_AVCodecOnNewOutputData
](
_codec_base.md#oh_avcodeconnewoutputdata
)
|
zh-cn/application-dev/reference/native-apis/_o_h___a_v_codec_buffer_attr.md
0 → 100644
浏览文件 @
f768bd79
# OH_AVCodecBufferAttr
## 概述
定义OH_AVCodec的Buffer描述信息。
@syscap SystemCapability.Multimedia.Media.CodecBase
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
CodecBase
](
_codec_base.md
)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
pts
](
_codec_base.md#pts
)
| int64_t |
|
[
size
](
_codec_base.md#size
)
| int32_t |
|
[
offset
](
_codec_base.md#offset
)
| int32_t |
|
[
flags
](
_codec_base.md#flags
)
| uint32_t |
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVControlCommand
## 概述
用于描述音视频播控命令工具类,播控命令的封装对象,支持设置和获取控制命令。
## 汇总
### Public 类型
| 名称 | 描述 |
| -------- | -------- |
| {
<br/>
**SESSION_CMD_INVALID**
= -1,
**SESSION_CMD_PLAY**
= 0,
**SESSION_CMD_PAUSE**
= 1,
**SESSION_CMD_STOP**
= 2,
**SESSION_CMD_PLAY_NEXT**
= 3,
**SESSION_CMD_PLAY_PREVIOUS**
= 4,
**SESSION_CMD_FAST_FORWARD**
= 5,
**SESSION_CMD_REWIND**
= 6,
**SESSION_CMD_SEEK**
= 7,
**SESSION_CMD_SET_SPEED**
= 8,
**SESSION_CMD_SET_LOOP_MODE**
= 9,
**SESSION_CMD_TOGGLE_FAVORITE**
= 10,
**SESSION_CMD_MAX**
= 11
<br/>
} | 操作指令。 |
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
Marshalling
](
#marshalling
)
(
Parcel
&
parcel) const override | IPC通信数据序列化。 |
### 静态 Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
Unmarshalling
](
#unmarshalling
)
(
Parcel
&
data) | IPC通信数据反序列化。 |
|
[
localCapability
](
#localcapability
)
| 命令数组,用于分布式业务,判断是否支持某个命令。 |
|
[
IsValid
](
#isvalid
)
(
)
const | 判断当前指令是否在有效范围内。 |
|
[
SetCommand
](
#setcommand
)
(
int32_t
cmd) | 设置操作指令。 |
|
[
GetCommand
](
#getcommand
)
(
)
const | 获取操作指令。 |
|
[
SetSpeed
](
#setspeed
)
(
double
speed) | 设置媒体播放倍数。 |
|
[
GetSpeed
](
#getspeed
)
(
double
&
speed) const | 获取媒体播放倍数 |
|
[
SetSeekTime
](
#setseektime
)
(
int64_t
time) | 设置媒体跳播时间。 |
|
[
GetSeekTime
](
#getseektime
)
(
int64_t
&
time) const | 获取媒体跳播时间。 |
|
[
SetLoopMode
](
#setloopmode
)
(
int32_t
mode) | 设置媒体循环模式。 |
|
[
GetLoopMode
](
#getloopmode
)
(
int32_t
&
mode) const | 获取媒体循环模式。 |
|
[
SetAssetId
](
#setassetid
)
(
const
std::string
&
assetId) | 设置媒体id。 |
|
[
GetAssetId
](
#getassetid
)
(
std::string
&
assetId) const | 获取媒体id。 |
## 成员枚举类型说明
### anonymous enum
```
anonymous enum
```
**描述:**
操作指令。
| 枚举值 | 描述 |
| -------- | -------- |
| SESSION_CMD_INVALID | 无效指令,内部用于判断指令是否有效 |
| SESSION_CMD_PLAY | 播放 |
| SESSION_CMD_PAUSE | 暂停 |
| SESSION_CMD_STOP | 停止 |
| SESSION_CMD_PLAY_NEXT | 播放下一首 |
| SESSION_CMD_PLAY_PREVIOUS | 播放上一首 |
| SESSION_CMD_FAST_FORWARD | 快进 |
| SESSION_CMD_REWIND | 快退 |
| SESSION_CMD_SEEK | 跳播 |
| SESSION_CMD_SET_SPEED | 设置播放倍数 |
| SESSION_CMD_SET_LOOP_MODE | 设置循环模式 |
| SESSION_CMD_TOGGLE_FAVORITE | 收藏 |
| SESSION_CMD_MAX | 无效指令,内部用于判断指令是否有效 |
## 成员函数说明
### GetAssetId()
```
int32_t OHOS::AVSession::AVControlCommand::GetAssetId (std::string & assetId) const
```
**描述:**
获取媒体id。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| assetId | 保存媒体id。 |
**参见:**
[
SetAssetId
](
#setassetid
)
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### GetCommand()
```
int32_t OHOS::AVSession::AVControlCommand::GetCommand () const
```
**描述:**
获取操作指令。
**返回:**
返回操作指令,范围在
**SESSION_CMD_INVALID**
到
**SESSION_CMD_MAX**
之间。
**参见:**
[
SetCommand
](
#setcommand
)
### GetLoopMode()
```
int32_t OHOS::AVSession::AVControlCommand::GetLoopMode (int32_t & mode) const
```
**描述:**
获取媒体循环模式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mode | 保存媒体循环模式。 取值在
[
AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
的
**LOOP_MODE_SEQUENCE**
到
**LOOP_MODE_SHUFFLE**
之间。 |
**参见:**
[
SetLoopMode
](
#setloopmode
)
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### GetSeekTime()
```
int32_t OHOS::AVSession::AVControlCommand::GetSeekTime (int64_t & time) const
```
**描述:**
获取媒体跳播时间。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
SetSeekTime
](
#setseektime
)
### GetSpeed()
```
int32_t OHOS::AVSession::AVControlCommand::GetSpeed (double & speed) const
```
**描述:**
获取媒体播放倍数
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| speed | 媒体播放倍数,返回值。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
SetSpeed
](
#setspeed
)
### IsValid()
```
bool OHOS::AVSession::AVControlCommand::IsValid () const
```
**描述:**
判断当前指令是否在有效范围内。
**返回:**
如果cmd_在有效范围内,范围在
**SESSION_CMD_INVALID**
到
**SESSION_CMD_MAX**
之间, 返回true;否则,返回false。
### Marshalling()
```
bool OHOS::AVSession::AVControlCommand::Marshalling (Parcel & parcel) const
```
**描述:**
IPC通信数据序列化。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| parcel | 保存序列化值的对象
**Parcel**
。 |
**返回:**
成功返回true;否则,返回false。
**参见:**
[
Unmarshalling
](
#unmarshalling
)
### SetAssetId()
```
int32_t OHOS::AVSession::AVControlCommand::SetAssetId (const std::string & assetId)
```
**描述:**
设置媒体id。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| assetId | 媒体id,不可为空。 |
**参见:**
[
GetAssetId
](
#getassetid
)
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### SetCommand()
```
int32_t OHOS::AVSession::AVControlCommand::SetCommand (int32_t cmd)
```
**描述:**
设置操作指令。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cmd | 操作指令,范围在
**SESSION_CMD_INVALID**
到
**SESSION_CMD_MAX**
之间。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
GetCommand
](
#getcommand
)
### SetLoopMode()
```
int32_t OHOS::AVSession::AVControlCommand::SetLoopMode (int32_t mode)
```
**描述:**
设置媒体循环模式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mode | 媒体循环模式, 取值在
[
AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
的
**LOOP_MODE_SEQUENCE**
到
**LOOP_MODE_SHUFFLE**
之间。 |
**参见:**
[
GetLoopMode
](
#getloopmode
)
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### SetSeekTime()
```
int32_t OHOS::AVSession::AVControlCommand::SetSeekTime (int64_t time)
```
**描述:**
设置媒体跳播时间。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
GetSeekTime
](
#getseektime
)
### SetSpeed()
```
int32_t OHOS::AVSession::AVControlCommand::SetSpeed (double speed)
```
**描述:**
设置媒体播放倍数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| speed | 媒体播放倍数,需大于0。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
GetSpeed
](
#getspeed
)
### Unmarshalling()
```
static AVControlCommand* OHOS::AVSession::AVControlCommand::Unmarshalling (Parcel & data)
```
**描述:**
IPC通信数据反序列化。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 序列化对象
**Parcel**
。 |
**返回:**
返回AVControlCommand的函数指针。
**参见:**
[
Marshalling
](
#marshalling
)
## 结构体成员变量说明
### localCapability
```
const std::vector<int32_t> OHOS::AVSession::AVControlCommand::localCapability
```
**Value:**
```
{
SESSION_CMD_PLAY,
SESSION_CMD_PAUSE,
SESSION_CMD_STOP,
SESSION_CMD_PLAY_NEXT,
SESSION_CMD_PLAY_PREVIOUS,
SESSION_CMD_FAST_FORWARD,
SESSION_CMD_REWIND,
SESSION_CMD_SEEK,
SESSION_CMD_SET_SPEED,
SESSION_CMD_SET_LOOP_MODE,
SESSION_CMD_TOGGLE_FAVORITE,
}
```
**描述:**
命令数组,用于分布式业务,判断是否支持某个命令。
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVMetaData
## 概述
会话元数据类,提供获取metadata进程间传递的序列化和反序列话及数据拷贝的接口方法。
## 汇总
### Public 类型
| 名称 | 描述 |
| -------- | -------- |
| {
<br/>
**META_KEY_ASSET_ID**
= 0,
**META_KEY_TITLE**
= 1,
**META_KEY_ARTIST**
= 2,
**META_KEY_AUTHOR**
= 3,
**META_KEY_ALBUM**
= 4,
**META_KEY_WRITER**
= 5,
**META_KEY_COMPOSER**
= 6,
**META_KEY_DURATION**
= 7,
**META_KEY_MEDIA_IMAGE**
= 8,
**META_KEY_MEDIA_IMAGE_URI**
= 9,
**META_KEY_PUBLISH_DATE**
= 10,
**META_KEY_SUBTITLE**
= 11,
**META_KEY_DESCRIPTION**
= 12,
**META_KEY_LYRIC**
= 13,
**META_KEY_PREVIOUS_ASSET_ID**
= 14,
**META_KEY_NEXT_ASSET_ID**
= 15,
**META_KEY_MAX**
= 16
<br/>
} | 会话元数据具体枚举项。 |
|
[
MetaMaskType
](
#metamasktype
)
= std::bitset
<
META_KEY_MAX
>
| 引入掩码标记需要拷贝的会话元数据。 |
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
AVMetaData
](
#avmetadata
)
(
)=default
| 会话元数据默认构造函数。 |
|
[
~AVMetaData
](
#avmetadata
)
(
)
override | 会话元数据默认析构函数。 |
|
[
Marshalling
](
#marshalling
)
(
Parcel
&
data) const override | 实现会话元数据进程间传递的序列化。 |
|
[
SetAssetId
](
#setassetid
)
(
const
std::string
&
assetId) | 设置曲目ID。 |
|
[
GetAssetId
](
#getassetid
)
(
)
const | 获取曲目ID。 |
|
[
SetTitle
](
#settitle
)
(
const
std::string
&
title) | 设置标题。 |
|
[
GetTitle
](
#gettitle
)
(
)
const | 获取标题。 |
|
[
SetArtist
](
#setartist
)
(
const
std::string
&
artist) | 设置艺术家名称。 |
|
[
GetArtist
](
#getartist
)
(
)
const | 获取艺术家名称。 |
|
[
SetAuthor
](
#setauthor
)
(
const
std::string
&
author) | 设置制作人名称。 |
|
[
GetAuthor
](
#getauthor
)
(
)
const | 获取制作人名称。 |
|
[
SetAlbum
](
#setalbum
)
(
const
std::string
&
album) | 设置专辑名称。 |
|
[
GetAlbum
](
#getalbum
)
(
)
const | 获取专辑名称。 |
|
[
SetWriter
](
#setwriter
)
(
const
std::string
&
writer) | 设置作词名称。 |
|
[
GetWriter
](
#getwriter
)
(
)
const | 获取作词名称。 |
|
[
SetComposer
](
#setcomposer
)
(
const
std::string
&
composer) | 设置作曲名称。 |
|
[
GetComposer
](
#getcomposer
)
(
)
const | 获取作曲名称。 |
|
[
SetDuration
](
#setduration
)
(
int64_t
duration) | 设置媒体时长。 |
|
[
GetDuration
](
#getduration
)
(
)
const | 获取媒体时长。 |
|
[
SetMediaImage
](
#setmediaimage
)
(
const
std::shared_ptr
<
[
AVSessionPixelMap
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
)
>
&
mediaImage) | 设置媒体图片。 |
|
[
GetMediaImage
](
#getmediaimage
)
(
)
const | 获取媒体图片。 |
|
[
SetMediaImageUri
](
#setmediaimageuri
)
(
const
std::string
&
mediaImageUri) | 设置媒体图片URI。 |
|
[
GetMediaImageUri
](
#getmediaimageuri
)
(
)
const | 获取媒体图片URI。 |
|
[
SetPublishDate
](
#setpublishdate
)
(
double
date) | 设置曲目发布日期,时间戳,单位为ms。 |
|
[
GetPublishDate
](
#getpublishdate
)
(
)
const | 获取曲目发布日期,时间戳,单位为ms。 |
|
[
SetSubTitle
](
#setsubtitle
)
(
const
std::string
&
subTitle) | 设置子标题。 |
|
[
GetSubTitle
](
#getsubtitle
)
(
)
const | 获取子标题。 |
|
[
SetDescription
](
#setdescription
)
(
const
std::string
&
description) | 设置曲目描述。 |
|
[
GetDescription
](
#getdescription
)
(
)
const | 获取曲目描述。 |
|
[
SetLyric
](
#setlyric
)
(
const
std::string
&
lyric) | 设置歌词。 |
|
[
GetLyric
](
#getlyric
)
(
)
const | 获取歌词。 |
|
[
SetPreviousAssetId
](
#setpreviousassetid
)
(
const
std::string
&
assetId) | 设置上一曲曲目ID。 |
|
[
GetPreviousAssetId
](
#getpreviousassetid
)
(
)
const | 获取上一曲曲目ID。 |
|
[
SetNextAssetId
](
#setnextassetid
)
(
const
std::string
&
assetId) | 设置下一曲曲目ID。 |
|
[
GetNextAssetId
](
#getnextassetid
)
(
)
const | 获取下一曲曲目ID。 |
|
[
Reset
](
#reset
)
(
)
| 重置所有会话元数据项。 |
|
[
GetMetaMask
](
#getmetamask
)
(
)
const | 获取掩码。 |
|
[
CopyToByMask
](
#copytobymask
)
(
[MetaMaskType](#metamasktype
)
&
mask, AVMetaData
&
metaOut) const | 根据metadata掩码,将metadata项复制到metaOut。 |
|
[
CopyFrom
](
#copyfrom
)
(
const
AVMetaData
&
metaIn) | 根据metaIn元掩码的设置位从metaIn复制metadata项。 |
|
[
IsValid
](
#isvalid
)
(
)
const | 会话元数据有效性判断。 |
### 静态 Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
Unmarshalling
](
#unmarshalling
)
(
Parcel
&
data) | 实现会话元数据进程间传递的反序列化。 |
### 静态 Public 属性
| 名称 | 描述 |
| -------- | -------- |
|
[
DURATION_ALWAYS_PLAY
](
#duration_always_play
)
= -1 | 持续时间全局变量宏定义。 |
|
[
localCapability
](
#localcapability
)
| 会话元数据数组,用于分布式业务,设置会话属性。 |
## 成员类型定义说明
### MetaMaskType
```
using OHOS::AVSession::AVMetaData::MetaMaskType = std::bitset<META_KEY_MAX>
```
**描述:**
引入掩码标记需要拷贝的会话元数据。
## 成员枚举类型说明
### anonymous enum
```
anonymous enum
```
**描述:**
会话元数据具体枚举项。
| 枚举值 | 描述 |
| -------- | -------- |
| META_KEY_ASSET_ID | 曲目ID |
| META_KEY_TITLE | 标题 |
| META_KEY_ARTIST | 艺术家 |
| META_KEY_AUTHOR | 制作人 |
| META_KEY_ALBUM | 专辑 |
| META_KEY_WRITER | 作词 |
| META_KEY_COMPOSER | 作曲 |
| META_KEY_DURATION | 媒体时长 |
| META_KEY_MEDIA_IMAGE | 媒体影像 |
| META_KEY_MEDIA_IMAGE_URI | 媒体影像路径 |
| META_KEY_PUBLISH_DATE | 曲目发布日期 |
| META_KEY_SUBTITLE | 子标题 |
| META_KEY_DESCRIPTION | 曲目描述 |
| META_KEY_LYRIC | 歌词 |
| META_KEY_PREVIOUS_ASSET_ID | 上一曲 |
| META_KEY_NEXT_ASSET_ID | 下一曲 |
| META_KEY_MAX | 无效指令,内部用来判断会话元数据是否有效 |
## 构造及析构函数说明
### AVMetaData()
```
OHOS::AVSession::AVMetaData::AVMetaData ()
```
**描述:**
会话元数据默认构造函数。
### ~AVMetaData()
```
OHOS::AVSession::AVMetaData::~AVMetaData ()
```
**描述:**
会话元数据默认析构函数。
## 成员函数说明
### CopyFrom()
```
bool OHOS::AVSession::AVMetaData::CopyFrom (const AVMetaData & metaIn)
```
**描述:**
根据metaIn元掩码的设置位从metaIn复制metadata项。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| metaIn | 会话元数据将要拷贝的入参。|
### CopyToByMask()
```
bool OHOS::AVSession::AVMetaData::CopyToByMask (MetaMaskType & mask, AVMetaData & metaOut ) const
```
**描述:**
根据metadata掩码,将metadata项复制到metaOut。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mask | metadata掩码
[
MetaMaskType
](
#metamasktype
)
。 |
| metaOut | metadata已拷贝成功的出参AVMetaData。 |
**返回:**
成功返回true;失败则返回false。
### GetAlbum()
```
std::string OHOS::AVSession::AVMetaData::GetAlbum () const
```
**描述:**
获取专辑名称。
**返回:**
返回专辑名称。
**参见:**
[
SetAlbum
](
#setalbum
)
### GetArtist()
```
std::string OHOS::AVSession::AVMetaData::GetArtist () const
```
**描述:**
获取艺术家名称。
**返回:**
返回艺术家名称。
**参见:**
[
SetArtist
](
#setartist
)
### GetAssetId()
```
std::string OHOS::AVSession::AVMetaData::GetAssetId () const
```
**描述:**
获取曲目ID。
**返回:**
返回曲目ID。
**参见:**
[
SetAssetId
](
#setassetid
)
### GetAuthor()
```
std::string OHOS::AVSession::AVMetaData::GetAuthor () const
```
**描述:**
获取制作人名称。
**返回:**
返回制作人名称。
**参见:**
[
SetAuthor
](
#setauthor
)
### GetComposer()
```
std::string OHOS::AVSession::AVMetaData::GetComposer () const
```
**描述:**
获取作曲名称。
**返回:**
返回作曲名称。
**参见:**
[
SetComposer
](
#setcomposer
)
### GetDescription()
```
std::string OHOS::AVSession::AVMetaData::GetDescription () const
```
**描述:**
获取曲目描述。
**返回:**
返回曲目描述。
**参见:**
[
SetDescription
](
#setdescription
)
### GetDuration()
```
int64_t OHOS::AVSession::AVMetaData::GetDuration () const
```
**描述:**
获取媒体时长。
**返回:**
返回媒体时长,单位为ms。
**参见:**
[
SetDuration
](
#setduration
)
### GetLyric()
```
std::string OHOS::AVSession::AVMetaData::GetLyric () const
```
**描述:**
获取歌词。
**返回:**
返回歌词。
**参见:**
[
SetLyric
](
#setlyric
)
### GetMediaImage()
```
std::shared_ptr<AVSessionPixelMap> OHOS::AVSession::AVMetaData::GetMediaImage () const
```
**描述:**
获取媒体图片。
**返回:**
返回媒体图片
[
AVSessionPixelMap
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
)
。
**参见:**
[
SetMediaImage
](
#setmediaimage
)
### GetMediaImageUri()
```
std::string OHOS::AVSession::AVMetaData::GetMediaImageUri () const
```
**描述:**
获取媒体图片URI。
**返回:**
返回媒体图片URI。
**参见:**
[
SetMediaImageUri
](
#setmediaimageuri
)
### GetMetaMask()
```
MetaMaskType OHOS::AVSession::AVMetaData::GetMetaMask () const
```
**描述:**
获取掩码。
**返回:**
返回掩码
[
MetaMaskType
](
#metamasktype
)
。
### GetNextAssetId()
```
std::string OHOS::AVSession::AVMetaData::GetNextAssetId () const
```
**描述:**
获取下一曲曲目ID。
**返回:**
返回下一曲曲目ID。
**参见:**
[
SetNextAssetId
](
#setnextassetid
)
### GetPreviousAssetId()
```
std::string OHOS::AVSession::AVMetaData::GetPreviousAssetId () const
```
**描述:**
获取上一曲曲目ID。
**返回:**
返回上一曲曲目ID。
**参见:**
[
SetPreviousAssetId
](
#setpreviousassetid
)
### GetPublishDate()
```
double OHOS::AVSession::AVMetaData::GetPublishDate () const
```
**描述:**
获取曲目发布日期,时间戳,单位为ms。
**返回:**
返回曲目发布日期,时间戳,单位为ms。
**参见:**
[
SetPublishDate
](
#setpublishdate
)
### GetSubTitle()
```
std::string OHOS::AVSession::AVMetaData::GetSubTitle () const
```
**描述:**
获取子标题。
**返回:**
返回子标题。
**参见:**
[
SetSubTitle
](
#setsubtitle
)
### GetTitle()
```
std::string OHOS::AVSession::AVMetaData::GetTitle () const
```
**描述:**
获取标题。
**返回:**
返回标题。
**参见:**
[
SetTitle
](
#settitle
)
### GetWriter()
```
std::string OHOS::AVSession::AVMetaData::GetWriter () const
```
**描述:**
获取作词名称。
**返回:**
返回作词名称。
**参见:**
[
SetWriter
](
#setwriter
)
### IsValid()
```
bool OHOS::AVSession::AVMetaData::IsValid () const
```
**描述:**
会话元数据有效性判断。
**返回:**
有效返回true;无效则返回false。
### Marshalling()
```
bool OHOS::AVSession::AVMetaData::Marshalling (Parcel & data) const
```
**描述:**
实现会话元数据进程间传递的序列化。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 保存序列化值的对象
**Parcel**
。 |
**返回:**
如果序列化成功,则返回true;如果操作失败,则返回false。
**参见:**
[
Unmarshalling
](
#unmarshalling
)
### Reset()
```
void OHOS::AVSession::AVMetaData::Reset ()
```
**描述:**
重置所有会话元数据项。
### SetAlbum()
```
void OHOS::AVSession::AVMetaData::SetAlbum (const std::string & album)
```
**描述:**
设置专辑名称。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| album | 专辑名称。 |
**参见:**
[
GetAlbum
](
#getalbum
)
### SetArtist()
```
void OHOS::AVSession::AVMetaData::SetArtist (const std::string & artist)
```
**描述:**
设置艺术家名称。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| artist | 艺术家名称。 |
**参见:**
[
GetArtist
](
#getartist
)
### SetAssetId()
```
void OHOS::AVSession::AVMetaData::SetAssetId (const std::string & assetId)
```
**描述:**
设置曲目ID。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| assetId | 曲目ID,不可为空。 |
**参见:**
[
GetAssetId
](
#getassetid
)
### SetAuthor()
```
void OHOS::AVSession::AVMetaData::SetAuthor (const std::string & author)
```
**描述:**
设置制作人名称。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| author | 制作人名称。 |
**参见:**
[
GetArtist
](
#getartist
)
### SetComposer()
```
void OHOS::AVSession::AVMetaData::SetComposer (const std::string & composer)
```
**描述:**
设置作曲名称。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| composer | 作曲名称。 |
**参见:**
[
GetComposer
](
#getcomposer
)
### SetDescription()
```
void OHOS::AVSession::AVMetaData::SetDescription (const std::string & description)
```
**描述:**
设置曲目描述。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| description | 曲目描述。 |
**参见:**
[
GetDescription
](
#getdescription
)
### SetDuration()
```
void OHOS::AVSession::AVMetaData::SetDuration (int64_t duration)
```
**描述:**
设置媒体时长。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| duration | 媒体时长,必须大于等于-1,单位为ms 。 |
**参见:**
[
GetDuration
](
#getduration
)
### SetLyric()
```
void OHOS::AVSession::AVMetaData::SetLyric (const std::string & lyric)
```
**描述:**
设置歌词。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| lyric | 歌词。 |
**参见:**
[
GetLyric
](
#getlyric
)
### SetMediaImage()
```
void OHOS::AVSession::AVMetaData::SetMediaImage (const std::shared_ptr< AVSessionPixelMap > & mediaImage)
```
**描述:**
设置媒体图片。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mediaImage | 媒体图片
[
AVSessionPixelMap
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
)
。 |
**参见:**
[
GetMediaImage
](
#getmediaimage
)
### SetMediaImageUri()
```
void OHOS::AVSession::AVMetaData::SetMediaImageUri (const std::string & mediaImageUri)
```
**描述:**
设置媒体图片URI。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mediaImageUri | 媒体图片URI。 |
**参见:**
[
GetMediaImageUri
](
#getmediaimageuri
)
### SetNextAssetId()
```
void OHOS::AVSession::AVMetaData::SetNextAssetId (const std::string & assetId)
```
**描述:**
设置下一曲曲目ID。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| assetId | 下一曲曲目ID。 |
**参见:**
[
GetNextAssetId
](
#getnextassetid
)
### SetPreviousAssetId()
```
void OHOS::AVSession::AVMetaData::SetPreviousAssetId (const std::string & assetId)
```
**描述:**
设置上一曲曲目ID。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| assetId | 上一曲曲目ID。 |
**参见:**
[
GetPreviousAssetId
](
#getpreviousassetid
)
### SetPublishDate()
```
void OHOS::AVSession::AVMetaData::SetPublishDate (double date)
```
**描述:**
设置曲目发布日期,时间戳,单位为ms。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| date | 曲目发布日期,时间戳,单位为ms。 |
**参见:**
[
GetPublishDate
](
#getpublishdate
)
### SetSubTitle()
```
void OHOS::AVSession::AVMetaData::SetSubTitle (const std::string & subTitle)
```
**描述:**
设置子标题。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| subTitle | 子标题。 |
**参见:**
[
GetSubTitle
](
#getsubtitle
)
### SetTitle()
```
void OHOS::AVSession::AVMetaData::SetTitle (const std::string & title)
```
**描述:**
设置标题。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| title | 标题。 |
**参见:**
[
GetTitle
](
#gettitle
)
### SetWriter()
```
void OHOS::AVSession::AVMetaData::SetWriter (const std::string & writer)
```
**描述:**
设置作词名称。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| writer | 作词名称。 |
**参见:**
[
GetWriter
](
#getwriter
)
### Unmarshalling()
```
static AVMetaData* OHOS::AVSession::AVMetaData::Unmarshalling (Parcel & data)
```
**描述:**
实现会话元数据进程间传递的反序列化。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 序列化对象
**Parcel**
。 |
**返回:**
如果反序列化成功,返回AVMetaData类型指针;失败则返回nullptr。
**参见:**
[
Marshalling
](
#marshalling
)
## 结构体成员变量说明
### DURATION_ALWAYS_PLAY
```
constexpr std::int64_t OHOS::AVSession::AVMetaData::DURATION_ALWAYS_PLAY = -1
```
**描述:**
持续时间全局变量宏定义。
### localCapability
```
const std::vector<int32_t> OHOS::AVSession::AVMetaData::localCapability
```
**Value:**
```
{
META_KEY_ASSET_ID,
META_KEY_TITLE,
META_KEY_ARTIST,
META_KEY_AUTHOR,
META_KEY_ALBUM,
META_KEY_WRITER,
META_KEY_COMPOSER,
META_KEY_DURATION,
META_KEY_MEDIA_IMAGE,
META_KEY_MEDIA_IMAGE_URI,
META_KEY_PUBLISH_DATE,
META_KEY_SUBTITLE,
META_KEY_DESCRIPTION,
META_KEY_LYRIC,
META_KEY_PREVIOUS_ASSET_ID,
META_KEY_NEXT_ASSET_ID,
}
```
**描述:**
会话元数据数组,用于分布式业务,设置会话属性。
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVPlaybackState
## 概述
音视频播放状态类,提供获取和设置播放界面的信息。
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
Position
](
_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
)
| struct
<br/>
播放位置的相关信息。 |
### Public 类型
| 名称 | 描述 |
| -------- | -------- |
| {
<br/>
**PLAYBACK_STATE_INITIAL**
= 0,
**PLAYBACK_STATE_PREPARING**
= 1,
**PLAYBACK_STATE_PLAYING**
= 2,
**PLAYBACK_STATE_PAUSED**
= 3,
**PLAYBACK_STATE_FAST_FORWARD**
= 4,
**PLAYBACK_STATE_REWIND**
= 5,
**PLAYBACK_STATE_STOP**
= 6,
**PLAYBACK_STATE_MAX**
= 7
<br/>
} | 描述播放状态的枚举。 |
| {
<br/>
**PLAYBACK_KEY_STATE**
= 0,
**PLAYBACK_KEY_SPEED**
= 1,
**PLAYBACK_KEY_POSITION**
= 2,
**PLAYBACK_KEY_BUFFERED_TIME**
= 3,
**PLAYBACK_KEY_LOOP_MODE**
= 4,
**PLAYBACK_KEY_IS_FAVORITE**
= 5,
**PLAYBACK_KEY_MAX**
= 6
<br/>
} | 播放界面信息的枚举。 |
| {
**LOOP_MODE_SEQUENCE**
= 0,
**LOOP_MODE_SINGLE**
= 1,
**LOOP_MODE_LIST**
= 2,
**LOOP_MODE_SHUFFLE**
= 3 } | 循环模式的枚举。 |
|
**PlaybackStateMaskType**
= std::bitset
<
PLAYBACK_KEY_MAX
>
| |
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
Marshalling
](
#marshalling
)
(
Parcel
&
parcel) const override | IPC通信数据序列化。 |
|
[
IsValid
](
#isvalid
)
(
)
const | 验证当前信息的有效性。 |
|
[
SetState
](
#setstate
)
(
int32_t
state) | 设置音视频的播放状态。 |
|
[
GetState
](
#getstate
)
(
)
const | 获取当前音视频的播放状态。 |
|
[
SetSpeed
](
#setspeed
)
(
double
speed) | 设置播放倍速。 |
|
[
GetSpeed
](
#getspeed
)
(
)
const | 获取当前播放倍速。 |
|
[
SetPosition
](
#setposition
)
(
const
[
Position
]
(_1_a_v_session_1_1_a_v_playback_state_1_1_position.md)
&
position) | 设置播放位置,通过更新时间与经过时间来计算,单位ms。 |
|
[
GetPosition
](
#getposition
)
(
)
const | 获取播放位置。 |
|
[
SetBufferedTime
](
#setbufferedtime
)
(
int64_t
time) | 设置缓冲时间,单位为ms。 |
|
[
GetBufferedTime
](
#getbufferedtime
)
(
)
const | 获取当前缓冲时间,单位为ms。 |
|
[
SetLoopMode
](
#setloopmode
)
(
int32_t
mode) | 设置循环模式。 |
|
[
GetLoopMode
](
#getloopmode
)
(
)
const | 获取当前循环模式。 |
|
[
SetFavorite
](
#setfavorite
)
(
bool
isFavorite) | 设置是否收藏。 |
|
[
GetFavorite
](
#getfavorite
)
(
)
const | 获取是否收藏。 |
|
[
GetMask
](
#getmask
)
(
)
const | 获取掩码。 |
### 静态 Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
Unmarshalling
](
#unmarshalling
)
(
Parcel
&
parcel) | IPC通信数据反序列化。 |
|
[
localCapability
](
#localcapability
)
| 内联函数指针数组AVPlaybackState,用于分布式业务,设置播放界面信息。 |
|
[
CopyToByMask
](
#copytobymask
)
(
PlaybackStateMaskType
&
mask, AVPlaybackState
&
out) const | 通过掩码拷贝信息到新的AVPlaybackState对象。 |
|
[
CopyFrom
](
#copyfrom
)
(
const
AVPlaybackState
&
in) | 根据当前对象的mask_掩码,将输入的AVPlaybackState类型的信息复制到当前对象。 |
## 成员枚举类型说明
### anonymous enum
```
anonymous enum
```
**描述:**
描述播放状态的枚举。
| 枚举值 | 描述 |
| -------- | -------- |
| PLAYBACK_STATE_INITIAL | 初始状态 |
| PLAYBACK_STATE_PREPARING | 缓冲状态 |
| PLAYBACK_STATE_PLAYING | 播放状态 |
| PLAYBACK_STATE_PAUSED | 暂停状态 |
| PLAYBACK_STATE_FAST_FORWARD | 快进状态 |
| PLAYBACK_STATE_REWIND | 快退状态 |
| PLAYBACK_STATE_STOP | 停止状态 |
| PLAYBACK_STATE_MAX | 无效类型,内部用于判断状态是否有效 |
### anonymous enum
```
anonymous enum
```
**描述:**
播放界面信息的枚举。
| 枚举值 | 描述 |
| -------- | -------- |
| PLAYBACK_KEY_STATE | 播放状态,包括正在播放、暂停、快进等 |
| PLAYBACK_KEY_SPEED | 播放倍数 |
| PLAYBACK_KEY_POSITION | 播放位置 |
| PLAYBACK_KEY_BUFFERED_TIME | 缓冲时间 |
| PLAYBACK_KEY_LOOP_MODE | 循环模式 |
| PLAYBACK_KEY_IS_FAVORITE | 设置喜欢(收藏) |
| PLAYBACK_KEY_MAX | 无效类型,内部用于判断key是否有效 |
### anonymous enum
```
anonymous enum
```
**描述:**
循环模式的枚举。
| 枚举值 | 描述 |
| -------- | -------- |
| LOOP_MODE_SEQUENCE | 顺序播放 |
| LOOP_MODE_SINGLE | 单曲循环 |
| LOOP_MODE_LIST | 列表循环 |
| LOOP_MODE_SHUFFLE | 随机播放 |
## 成员函数说明
### CopyFrom()
```
bool OHOS::AVSession::AVPlaybackState::CopyFrom (const AVPlaybackState & in)
```
**描述:**
根据当前对象的mask_掩码,将输入的AVPlaybackState类型的信息复制到当前对象。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| in | AVPlaybackState类型。 |
**返回:**
如果有至少一个播放界面信息被拷贝,返回true;如果一个播放界面信息都没有被拷贝,返回false。
**参见:**
[
CopyToByMask
](
#copytobymask
)
[
GetMask
](
#getmask
)
### CopyToByMask()
```
bool OHOS::AVSession::AVPlaybackState::CopyToByMask (PlaybackStateMaskType & mask, AVPlaybackState & out ) const
```
**描述:**
通过掩码拷贝信息到新的AVPlaybackState对象。
mask对应位上有值的对象拷贝给out。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mask | 输入的掩码
**}。 out 输出的音视频的播放状态 AVPlaybackState}。 如果有至少一个播放界面信息被拷贝,返回true;如果一个播放界面信息都没有被拷贝,返回false。 CopyFrom 9 1.0 **
|
### GetBufferedTime()
```
int64_t OHOS::AVSession::AVPlaybackState::GetBufferedTime () const
```
**描述:**
获取当前缓冲时间,单位为ms。
**返回:**
返回缓冲时间。
**参见:**
[
SetBufferedTime
](
#setbufferedtime
)
### GetFavorite()
```
bool OHOS::AVSession::AVPlaybackState::GetFavorite () const
```
**描述:**
获取是否收藏。
**返回:**
是否收藏,是则返回true,否则返回false。
**参见:**
[
SetFavorite
](
#setfavorite
)
### GetLoopMode()
```
int32_t OHOS::AVSession::AVPlaybackState::GetLoopMode () const
```
**描述:**
获取当前循环模式。
**返回:**
返回循环模式,范围
**LOOP_MODE_SEQUENCE**
到
**LOOP_MODE_SHUFFLE**
之间。
**参见:**
[
SetLoopMode
](
#setloopmode
)
### GetMask()
```
PlaybackStateMaskType OHOS::AVSession::AVPlaybackState::GetMask () const
```
**描述:**
获取掩码。
**返回:**
返回播放界面信息的掩码
**PlaybackStateMaskType**
。
**参见:**
[
CopyFrom
](
#copyfrom
)
### GetPosition()
```
Position OHOS::AVSession::AVPlaybackState::GetPosition () const
```
**描述:**
获取播放位置。
**返回:**
返回播放位置
[
Position
](
_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
)
。
**参见:**
[
SetPosition
](
#setposition
)
### GetSpeed()
```
double OHOS::AVSession::AVPlaybackState::GetSpeed () const
```
**描述:**
获取当前播放倍速。
**返回:**
返回当前播放倍速。
**参见:**
[
SetSpeed
](
#setspeed
)
### GetState()
```
int32_t OHOS::AVSession::AVPlaybackState::GetState () const
```
**描述:**
获取当前音视频的播放状态。
**返回:**
返回当前音视频的播放状态,范围
**PLAYBACK_STATE_INITIAL**
到
**PLAYBACK_STATE_MAX**
之间。
**参见:**
[
SetState
](
#setstate
)
### IsValid()
```
bool OHOS::AVSession::AVPlaybackState::IsValid () const
```
**描述:**
验证当前信息的有效性。
**返回:**
有效返回true;无效则返回false。
### Marshalling()
```
bool OHOS::AVSession::AVPlaybackState::Marshalling (Parcel & parcel) const
```
**描述:**
IPC通信数据序列化。
将AVPlaybackState类型的信息,序列化为
**Parcel**
类型的信息,用来进行IPC通信。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| parcel | 保存序列化值的对象
**Parcel**
。 |
**返回:**
成功返回true;失败返回false。
**参见:**
[
Unmarshalling
](
#unmarshalling
)
### SetBufferedTime()
```
void OHOS::AVSession::AVPlaybackState::SetBufferedTime (int64_t time)
```
**描述:**
设置缓冲时间,单位为ms。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| time | 缓冲时间。 |
**参见:**
[
GetBufferedTime
](
#getbufferedtime
)
### SetFavorite()
```
void OHOS::AVSession::AVPlaybackState::SetFavorite (bool isFavorite)
```
**描述:**
设置是否收藏。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| isFavorite | 是否收藏,是则为true,否则false。 |
**参见:**
[
GetFavorite
](
#getfavorite
)
### SetLoopMode()
```
void OHOS::AVSession::AVPlaybackState::SetLoopMode (int32_t mode)
```
**描述:**
设置循环模式。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mode | 循环模式,范围
**LOOP_MODE_SEQUENCE**
到
**LOOP_MODE_SHUFFLE**
之间。 |
**参见:**
[
GetLoopMode
](
#getloopmode
)
### SetPosition()
```
void OHOS::AVSession::AVPlaybackState::SetPosition (const Position & position)
```
**描述:**
设置播放位置,通过更新时间与经过时间来计算,单位ms。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| position | 播放位置
[
Position
](
_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
)
。 |
**参见:**
[
GetPosition
](
#getposition
)
### SetSpeed()
```
void OHOS::AVSession::AVPlaybackState::SetSpeed (double speed)
```
**描述:**
设置播放倍速。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| speed | 播放倍速。 |
**参见:**
[
SetSpeed
](
#setspeed
)
### SetState()
```
void OHOS::AVSession::AVPlaybackState::SetState (int32_t state)
```
**描述:**
设置音视频的播放状态。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| state | 音视频的播放状态,范围
**PLAYBACK_STATE_INITIAL**
到
**PLAYBACK_STATE_MAX**
之间。 |
**参见:**
[
GetState
](
#getstate
)
### Unmarshalling()
```
static AVPlaybackState* OHOS::AVSession::AVPlaybackState::Unmarshalling (Parcel & parcel)
```
**描述:**
IPC通信数据反序列化。
将通过IPC接收的
**Parcel**
类型的信息,反序列化为AVPlaybackState类型的信息。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| parcel | 序列化对象
**Parcel**
。 |
**返回:**
如果反序列化成功,则返回AVPlaybackState对象; 如果反序列化失败,则返回nullptr。
**参见:**
[
Marshalling
](
#marshalling
)
## 结构体成员变量说明
### localCapability
```
const std::vector<int32_t> OHOS::AVSession::AVPlaybackState::localCapability
```
**Value:**
```
{
PLAYBACK_KEY_STATE,
PLAYBACK_KEY_SPEED,
PLAYBACK_KEY_POSITION,
PLAYBACK_KEY_BUFFERED_TIME,
PLAYBACK_KEY_LOOP_MODE,
PLAYBACK_KEY_IS_FAVORITE,
}
```
**描述:**
内联函数指针数组AVPlaybackState,用于分布式业务,设置播放界面信息。
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVSession
## 概述
会话对象,支持配置会话属性,并可主动更新播放状态和会话元数据。
## 汇总
### Public 类型
| 名称 | 描述 |
| -------- | -------- |
| {
**SESSION_TYPE_INVALID**
= -1,
**SESSION_TYPE_AUDIO**
= 0,
**SESSION_TYPE_VIDEO**
= 1 } | 会话类型的枚举。 |
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
GetSessionId
](
#getsessionid
)
(
)=0
| 获取会话的标识。 |
|
[
GetAVMetaData
](
#getavmetadata
)
(
[AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
&
meta)=0 | 获取会话元数据。 |
|
[
SetAVMetaData
](
#setavmetadata
)
(
const
[
AVMetaData
]
(_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)
&
meta)=0 | 设置会话元数据。 |
|
[
GetAVPlaybackState
](
#getavplaybackstate
)
(
[AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
&
state)=0 | 获取音视频的播放状态。 |
|
[
SetAVPlaybackState
](
#setavplaybackstate
)
(
const
[
AVPlaybackState
]
(_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)
&
state)=0 | 设置音视频的播放状态。 |
|
[
SetLaunchAbility
](
#setlaunchability
)
(
const
AbilityRuntime::WantAgent::WantAgent
&
ability)=0 | 设置一个WantAgent用于启动会话的Ability。 |
|
[
GetController
](
#getcontroller
)
(
)=0
| 获取会话控制器。 |
|
[
RegisterCallback
](
#registercallback
)
(
const
std::shared_ptr
<
[
AVSessionCallback
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
)
>
&
callback)=0 | 注册会话回调。 |
|
[
Activate
](
#activate
)
(
)=0
| 激活会话。 |
|
[
Deactivate
](
#deactivate
)
(
)=0
| 去激活会话。 |
|
[
IsActive
](
#isactive
)
(
)=0
| 获取会话是否被激活。 |
|
[
Destroy
](
#destroy
)
(
)=0
| 销毁会话。 |
|
[
AddSupportCommand
](
#addsupportcommand
)
(
const
int32_t cmd)=0 | 添加支持的控制命令。 |
|
[
DeleteSupportCommand
](
#deletesupportcommand
)
(
const
int32_t cmd)=0 | 删除支持的控制命令。 |
## 成员枚举类型说明
### anonymous enum
```
anonymous enum
```
**描述:**
会话类型的枚举。
| 枚举值 | 描述 |
| -------- | -------- |
| SESSION_TYPE_INVALID | 无效会话 |
| SESSION_TYPE_AUDIO | 音频会话 |
| SESSION_TYPE_VIDEO | 视频会话 |
## 成员函数说明
### Activate()
```
virtual int32_t OHOS::AVSession::AVSession::Activate ()
```
**描述:**
激活会话。
激活成功后,会话才可以接收控制指令。
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
Deactivate
](
#deactivate
)
[
IsActive
](
#isactive
)
### AddSupportCommand()
```
virtual int32_t OHOS::AVSession::AVSession::AddSupportCommand (const int32_t cmd)
```
**描述:**
添加支持的控制命令。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cmd | 待添加的控制命令,范围为
**SESSION_CMD_INVALID**
到
**SESSION_CMD_MAX**
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### Deactivate()
```
virtual int32_t OHOS::AVSession::AVSession::Deactivate ()
```
**描述:**
去激活会话。
去激活成功后,表示会话还不能接收控制指令。
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
Activate
](
#activate
)
[
IsActive
](
#isactive
)
### DeleteSupportCommand()
```
virtual int32_t OHOS::AVSession::AVSession::DeleteSupportCommand (const int32_t cmd)
```
**描述:**
删除支持的控制命令。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cmd | 待删除的控制命令,范围为
**SESSION_CMD_INVALID**
到
**SESSION_CMD_MAX**
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### Destroy()
```
virtual int32_t OHOS::AVSession::AVSession::Destroy ()
```
**描述:**
销毁会话。
如果应用要创建一个新会话,必须要销毁之前的会话,否则会创建失败。
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### GetAVMetaData()
```
virtual int32_t OHOS::AVSession::AVSession::GetAVMetaData (AVMetaData & meta)
```
**描述:**
获取会话元数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| meta | 用于保存会话的元数据
[
AVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
对象。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
SetAVMetaData
](
#setavmetadata
)
### GetAVPlaybackState()
```
virtual int32_t OHOS::AVSession::AVSession::GetAVPlaybackState (AVPlaybackState & state)
```
**描述:**
获取音视频的播放状态。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| state | 用于保存播放状态的
[
AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
对象。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
SetAVPlaybackState
](
#setavplaybackstate
)
### GetController()
```
virtual std::shared_ptr<AVSessionController> OHOS::AVSession::AVSession::GetController ()
```
**描述:**
获取会话控制器。
**返回:**
返回会话控制器,
[
AVSessionController
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
)
类型智能指针。
### GetSessionId()
```
virtual std::string OHOS::AVSession::AVSession::GetSessionId ()
```
**描述:**
获取会话的标识。
**返回:**
返回会话的标识。
### IsActive()
```
virtual bool OHOS::AVSession::AVSession::IsActive ()
```
**描述:**
获取会话是否被激活。
**返回:**
如果是激活状态,则返回true;否则返回false。
**参见:**
[
Activate
](
#activate
)
[
Deactivate
](
#deactivate
)
### RegisterCallback()
```
virtual int32_t OHOS::AVSession::AVSession::RegisterCallback (const std::shared_ptr< AVSessionCallback > & callback)
```
**描述:**
注册会话回调。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| callback | 用于注册会话回调的
[
AVSessionCallback
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
)
对象。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### SetAVMetaData()
```
virtual int32_t OHOS::AVSession::AVSession::SetAVMetaData (const AVMetaData & meta)
```
**描述:**
设置会话元数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| meta | 用于修改会话的元数据
[
AVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
对象。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
GetAVMetaData
](
#getavmetadata
)
### SetAVPlaybackState()
```
virtual int32_t OHOS::AVSession::AVSession::SetAVPlaybackState (const AVPlaybackState & state)
```
**描述:**
设置音视频的播放状态。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| state | 用于修改播放状态的
[
AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
对象。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
GetAVPlaybackState
](
#getavplaybackstate
)
### SetLaunchAbility()
```
virtual int32_t OHOS::AVSession::AVSession::SetLaunchAbility (const AbilityRuntime::WantAgent::WantAgent & ability)
```
**描述:**
设置一个WantAgent用于启动会话的Ability。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| ability | 具体的应用对应的能力,类型为
**AbilityRuntime::WantAgent::WantAgent**
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
AVSessionController::GetLaunchAbility
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md#getlaunchability
)
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVSessionCallback
## 概述
定义AVSession回调类的实现
**Since:**
9
**Version:**
1.
0
## 汇总
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OnPlay
](
#onplay
)
(
)=0
| AVSession多媒体播放的抽象的回调方法。 |
|
[
OnPause
](
#onpause
)
(
)=0
| AVSession多媒体播放暂停的抽象的回调方法。 |
|
[
OnStop
](
#onstop
)
(
)=0
| AVSession多媒体播放停止的抽象的回调方法。 |
|
[
OnPlayNext
](
#onplaynext
)
(
)=0
| AVSession播放下一首多媒体的抽象的回调方法。 |
|
[
OnPlayPrevious
](
#onplayprevious
)
(
)=0
| AVSession播放上一首多媒体的抽象的回调方法。 |
|
[
OnFastForward
](
#onfastforward
)
(
)=0
| AVSession快进播放多媒体的抽象的回调方法。 |
|
[
OnRewind
](
#onrewind
)
(
)=0
| AVSession多媒体快退的抽象的回调方法。 |
|
[
OnSeek
](
#onseek
)
(
int64_t
time)=0 | AVSession多媒体跳播操作的抽象的回调方法。 |
|
[
OnSetSpeed
](
#onsetspeed
)
(
double
speed)=0 | AVSession设置多媒体倍速播放操作的抽象的回调方法。 |
|
[
OnSetLoopMode
](
#onsetloopmode
)
(
int32_t
loopMode)=0 | AVSession设置多媒体循环播放模式的抽象的回调方法。 |
|
[
OnToggleFavorite
](
#ontogglefavorite
)
(
const
std::string
&
mediald)=0 | AVSession设置多媒体切换收藏操作的抽象的回调方法。 |
|
[
OnMediaKeyEvent
](
#onmediakeyevent
)
(
const
MMI::KeyEvent
&
keyEvent)=0 | AVSession多媒体按键事件处理的抽象的回调方法。 |
|
[
OnOutputDeviceChange
](
#onoutputdevicechange
)
(
const
[
OutputDeviceInfo
]
(_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)
&
outputDeviceInfo)=0 | 注册会话输出设备变更监听。 |
|
[
~AVSessionCallback
](
#avsessioncallback
)
(
)=default
| AVSessionCallback的默认的析构函数。 |
## 构造及析构函数说明
### ~AVSessionCallback()
```
virtual OHOS::AVSession::AVSessionCallback::~AVSessionCallback ()
```
**描述:**
AVSessionCallback的默认的析构函数。
## 成员函数说明
### OnFastForward()
```
virtual void OHOS::AVSession::AVSessionCallback::OnFastForward ()
```
**描述:**
AVSession快进播放多媒体的抽象的回调方法。
### OnMediaKeyEvent()
```
virtual void OHOS::AVSession::AVSessionCallback::OnMediaKeyEvent (const MMI::KeyEvent & keyEvent)
```
**描述:**
AVSession多媒体按键事件处理的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyEvent | 按键事件码,类型为
**MMI::KeyEvent**
。 |
### OnOutputDeviceChange()
```
virtual void OHOS::AVSession::AVSessionCallback::OnOutputDeviceChange (const OutputDeviceInfo & outputDeviceInfo)
```
**描述:**
注册会话输出设备变更监听。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| outputDeviceInfo | 输出设备信息
[
OutputDeviceInfo
](
_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
)
。 |
### OnPause()
```
virtual void OHOS::AVSession::AVSessionCallback::OnPause ()
```
**描述:**
AVSession多媒体播放暂停的抽象的回调方法。
### OnPlay()
```
virtual void OHOS::AVSession::AVSessionCallback::OnPlay ()
```
**描述:**
AVSession多媒体播放的抽象的回调方法。
### OnPlayNext()
```
virtual void OHOS::AVSession::AVSessionCallback::OnPlayNext ()
```
**描述:**
AVSession播放下一首多媒体的抽象的回调方法。
### OnPlayPrevious()
```
virtual void OHOS::AVSession::AVSessionCallback::OnPlayPrevious ()
```
**描述:**
AVSession播放上一首多媒体的抽象的回调方法。
### OnRewind()
```
virtual void OHOS::AVSession::AVSessionCallback::OnRewind ()
```
**描述:**
AVSession多媒体快退的抽象的回调方法。
### OnSeek()
```
virtual void OHOS::AVSession::AVSessionCallback::OnSeek (int64_t time)
```
**描述:**
AVSession多媒体跳播操作的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| time | 媒体资源的位置,从媒体资源开头开始计算,单位为ms。取值需大于等于0。 |
### OnSetLoopMode()
```
virtual void OHOS::AVSession::AVSessionCallback::OnSetLoopMode (int32_t loopMode)
```
**描述:**
AVSession设置多媒体循环播放模式的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| loopMode | 多媒体循环播放模式, 范围在
[
AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
的
**LOOP_MODE_SEQUENCE**
到
**LOOP_MODE_SHUFFLE**
之间。 |
### OnSetSpeed()
```
virtual void OHOS::AVSession::AVSessionCallback::OnSetSpeed (double speed)
```
**描述:**
AVSession设置多媒体倍速播放操作的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| speed | 多媒体播放的倍速值。 |
### OnStop()
```
virtual void OHOS::AVSession::AVSessionCallback::OnStop ()
```
**描述:**
AVSession多媒体播放停止的抽象的回调方法。
### OnToggleFavorite()
```
virtual void OHOS::AVSession::AVSessionCallback::OnToggleFavorite (const std::string & mediald)
```
**描述:**
AVSession设置多媒体切换收藏操作的抽象的回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mediald | 多媒体ID号标识。 |
<!--no_check-->
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVSessionManager
## 概述
实现会话管理器对外接口功能的类的实现。
**Since:**
9
**Version:**
1.
0
## 汇总
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
CreateSession
](
#createsession
)
(
const
std::string
&
tag, int32_t type, const AppExecFwk::ElementName
&
elementName)=0 | 创建AVSession会话的接口方法。 |
|
[
GetAllSessionDescriptors
](
#getallsessiondescriptors
)
(
std::vector<
[
AVSessionDescriptor
]
(o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)
>
&
descriptors)=0 | 获取AVSession全部的会话描述的接口方法。 |
|
[
GetActivatedSessionDescriptors
](
#getactivatedsessiondescriptors
)
(
std::vector<
[
AVSessionDescriptor
]
(o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)
>
&
activatedSessions)=0 | 获取AVSession全部处于活动状态的会话描述的接口方法。 |
|
[
GetSessionDescriptorsBySessionId
](
#getsessiondescriptorsbysessionid
)
(
const
std::string
&
sessionId,
[
AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
&
descriptor)=0 | 通过会话ID获得会话描述的方法。 |
|
[
CreateController
](
#createcontroller
)
(
const
std::string
&
sessionId, std::shared_ptr
<
[
AVSessionController
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
)
>
&
controller)=0 | 创建AVSession会话控制器的接口方法。 |
|
[
RegisterSessionListener
](
#registersessionlistener
)
(
const
std::shared_ptr
<
[
SessionListener
](
_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
)
>
&
listener)=0 | 注册AVSession会话监听器的接口方法。 |
|
[
RegisterServiceDeathCallback
](
#registerservicedeathcallback
)
(
const
[
DeathCallback
]
(avsession__info_8h.md#deathcallback)
&
callback)=0 | 注册AVSession服务器的死亡回调的接口方法。 |
|
[
UnregisterServiceDeathCallback
](
#unregisterservicedeathcallback
)
(
)=0
| 注销AVSession服务器的死亡回调的接口方法。 |
|
[
SendSystemAVKeyEvent
](
#sendsystemavkeyevent
)
(
const
MMI::KeyEvent
&
keyEvent)=0 | 发送系统按键事件的接口方法。 |
|
[
SendSystemControlCommand
](
#sendsystemcontrolcommand
)
(
const
[
AVControlCommand
]
(_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md)
&
command)=0 | 发送系统控制命令的接口方法。 |
|
[
CastAudio
](
#castaudio
)
(
const
[
SessionToken
]
(_o_h_o_s_1_1_a_v_session_1_1_session_token.md)
&
token, const std::vector
<
AudioStandard::AudioDeviceDescriptor
>
&
descriptors)=0 | 将媒体会话投射到远程设备或投射回本地设备。 |
|
[
CastAudioForAll
](
#castaudioforall
)
(
const
std::vector
<
AudioStandard::AudioDeviceDescriptor
>
&
descriptors)=0 | 将此设备的所有媒体会话投播到远程设备。 |
### 静态 Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
GetInstance
](
#getinstance
)
(
)
| 获取会话管理器实例。 |
## 成员函数说明
### CastAudio()
```
virtual int32_t OHOS::AVSession::AVSessionManager::CastAudio (const SessionToken & token, const std::vector< AudioStandard::AudioDeviceDescriptor > & descriptors )
```
**描述:**
将媒体会话投射到远程设备或投射回本地设备。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| token | 需要投播的会话令牌。 |
| descriptors | 指定要转换的音频设备。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### CastAudioForAll()
```
virtual int32_t OHOS::AVSession::AVSessionManager::CastAudioForAll (const std::vector< AudioStandard::AudioDeviceDescriptor > & descriptors)
```
**描述:**
将此设备的所有媒体会话投播到远程设备。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| descriptors | 指定要转换的音频设备。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### CreateController()
```
virtual int32_t OHOS::AVSession::AVSessionManager::CreateController (const std::string & sessionId, std::shared_ptr< AVSessionController > & controller )
```
**描述:**
创建AVSession会话控制器的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| sessionId | AVSession的会话ID。 |
| controller | 会话控制器实例,类型为
[
AVSessionController
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
)
。 |
**返回:**
返回成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### CreateSession()
```
virtual std::shared_ptr<AVSession> OHOS::AVSession::AVSessionManager::CreateSession (const std::string & tag, int32_t type, const AppExecFwk::ElementName & elementName )
```
**描述:**
创建AVSession会话的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| tag | AVSession的会话标签,不可为空。 |
| type | AVSession的会话类型, 入参为
[
AVSession
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md
)
的
**SESSION_TYPE_AUDIO**
,
**SESSION_TYPE_VIDEO**
。 |
| elementName | AVSession的会话名称
**AppExecFwk::ElementName**
。 |
**返回:**
返回已创建的会话对象的智能指针。
### GetActivatedSessionDescriptors()
```
virtual int32_t OHOS::AVSession::AVSessionManager::GetActivatedSessionDescriptors (std::vector< AVSessionDescriptor > & activatedSessions)
```
**描述:**
获取AVSession全部处于活动状态的会话描述的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| activatedSessions | 处于活动状态的会话描述,类型为
[
AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### GetAllSessionDescriptors()
```
virtual int32_t OHOS::AVSession::AVSessionManager::GetAllSessionDescriptors (std::vector< AVSessionDescriptor > & descriptors)
```
**描述:**
获取AVSession全部的会话描述的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| descriptors | AVSession的会话描述,类型为
[
AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### GetInstance()
```
static AVSessionManager& OHOS::AVSession::AVSessionManager::GetInstance ()
```
**描述:**
获取会话管理器实例。
**返回:**
返回会话管理器实例。
### GetSessionDescriptorsBySessionId()
```
virtual int32_t OHOS::AVSession::AVSessionManager::GetSessionDescriptorsBySessionId (const std::string & sessionId, AVSessionDescriptor & descriptor )
```
**描述:**
通过会话ID获得会话描述的方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| sessionId | AVSession的会话标签。 |
| descriptor | AVSession的会话描述,类型为
[
AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### RegisterServiceDeathCallback()
```
virtual int32_t OHOS::AVSession::AVSessionManager::RegisterServiceDeathCallback (const DeathCallback & callback)
```
**描述:**
注册AVSession服务器的死亡回调的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| callback | 死亡回调的方法,类型为
**DeathCallback**
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
UnregisterServiceDeathCallback
](
#unregisterservicedeathcallback
)
### RegisterSessionListener()
```
virtual int32_t OHOS::AVSession::AVSessionManager::RegisterSessionListener (const std::shared_ptr< SessionListener > & listener)
```
**描述:**
注册AVSession会话监听器的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| listener | 会话监听器的智能指针,类型为
[
SessionListener
](
_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
)
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### SendSystemAVKeyEvent()
```
virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemAVKeyEvent (const MMI::KeyEvent & keyEvent)
```
**描述:**
发送系统按键事件的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyEvent | 按键事件码,类型为
**MMI::KeyEvent**
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### SendSystemControlCommand()
```
virtual int32_t OHOS::AVSession::AVSessionManager::SendSystemControlCommand (const AVControlCommand & command)
```
**描述:**
发送系统控制命令的接口方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| command | 系统控制命令
[
AVControlCommand
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
)
。 |
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### UnregisterServiceDeathCallback()
```
virtual int32_t OHOS::AVSession::AVSessionManager::UnregisterServiceDeathCallback ()
```
**描述:**
注销AVSession服务器的死亡回调的接口方法。
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
RegisterServiceDeathCallback
](
#registerservicedeathcallback
)
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVSessionPixelMap
## 概述
读取、设置图片及图片信息。
## 汇总
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
Marshalling
](
#marshalling
)
(Parcel
&
data)
const
override | 实现图片及图片信息的序列化。
|
|
[
GetPixelData
](
#getpixeldata
)
()
const | 获取图片数据。
|
|
[
SetPixelData
](
#setpixeldata
)
(const
std::vector
<
uint8_t
> &
data) | 设置图片数据。
|
|
[
GetImageInfo
](
#getimageinfo
)
()
const | 获取图片信息。
|
|
[
SetImageInfo
](
#setimageinfo
)
(const
std::vector
<
uint8_t
> &
imageInfo) | 设置图片信息。
|
### 静态 Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
Unmarshalling
](
#unmarshalling
)
(Parcel
&
data) | 实现图片及图片信息的反序列化。
|
## 成员函数说明
### GetImageInfo()
```
std::vector<uint8_t> OHOS::AVSession::AVSessionPixelMap::GetImageInfo () const
```
**描述:**
获取图片信息。
**返回:**
返回图片信息。
**参见:**
[
SetImageInfo
](
#setimageinfo
)
### GetPixelData()
```
std::vector<uint8_t> OHOS::AVSession::AVSessionPixelMap::GetPixelData () const
```
**描述:**
获取图片数据。
**返回:**
返回图片数据。
**参见:**
[
SetPixelData
](
#setpixeldata
)
### Marshalling()
```
bool OHOS::AVSession::AVSessionPixelMap::Marshalling (Parcel & data) const
```
**描述:**
实现图片及图片信息的序列化。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 保存序列化值的对象
**Parcel**
。
|
**返回:**
如果序列化成功,则返回true;失败则返回false。
**参见:**
[
Unmarshalling
](
#unmarshalling
)
### SetImageInfo()
```
void OHOS::AVSession::AVSessionPixelMap::SetImageInfo (const std::vector< uint8_t > & imageInfo)
```
**描述:**
设置图片信息。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| imageInfo | 图片信息。
|
**参见:**
[
GetImageInfo
](
#getimageinfo
)
### SetPixelData()
```
void OHOS::AVSession::AVSessionPixelMap::SetPixelData (const std::vector< uint8_t > & data)
```
**描述:**
设置图片数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 图片数据。
|
**参见:**
[
GetPixelData
](
#getpixeldata
)
### Unmarshalling()
```
static AVSessionPixelMap* OHOS::AVSession::AVSessionPixelMap::Unmarshalling (Parcel & data)
```
**描述:**
实现图片及图片信息的反序列化。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 保存反序列化值的对象
**Parcel**
。
|
**返回:**
如果反序列化成功,则返回true;失败则返回false。
**参见:**
[
Marshalling
](
#marshalling
)
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::OutputDeviceInfo
## 概述
描述分布式设备的相关信息。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
isRemote_
](
avsession.md#isremote
)
{} | bool |
|
[
deviceIds_
](
avsession.md#deviceids
)
| std::vector
<
std::string
>
|
|
[
deviceNames_
](
avsession.md#devicenames
)
| std::vector
<
std::string
>
|
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::SessionListener
## 概述
定义与AVSession相关监听器的类的实现。
**Since:**
9
**Version:**
1.
0
## 汇总
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OnSessionCreate
](
#onsessioncreate
)
(const
[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)
&
descriptor)=0 | 创建AVSession会话的抽象的接口回调方法。
|
|
[
OnSessionRelease
](
#onsessionrelease
)
(const
[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)
&
descriptor)=0 | 释放AVSession会话的抽象的接口回调方法。
|
|
[
OnTopSessionChange
](
#ontopsessionchange
)
(const
[AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md)
&
descriptor)=0 | AVSession的TOP会话发生变化的抽象的接口回调方法。
|
|
[
~SessionListener
](
#sessionlistener
)
()=default | SessionListener的默认的析构函数。
|
## 构造及析构函数说明
### ~SessionListener()
```
virtual OHOS::AVSession::SessionListener::~SessionListener ()
```
**描述:**
SessionListener的默认的析构函数。
## 成员函数说明
### OnSessionCreate()
```
virtual void OHOS::AVSession::SessionListener::OnSessionCreate (const AVSessionDescriptor & descriptor)
```
**描述:**
创建AVSession会话的抽象的接口回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| descriptor | AVSession的会话描述对象,类型为
[
AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
。
|
**参见:**
[
OnSessionRelease
](
#onsessionrelease
)
### OnSessionRelease()
```
virtual void OHOS::AVSession::SessionListener::OnSessionRelease (const AVSessionDescriptor & descriptor)
```
**描述:**
释放AVSession会话的抽象的接口回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| descriptor | AVSession的会话描述对象,类型为
[
AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
。
|
**参见:**
[
OnSessionCreate
](
#onsessioncreate
)
### OnTopSessionChange()
```
virtual void OHOS::AVSession::SessionListener::OnTopSessionChange (const AVSessionDescriptor & descriptor)
```
**描述:**
AVSession的TOP会话发生变化的抽象的接口回调方法。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| descriptor | AVSession的会话描述对象,类型为
[
AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
。
|
<!--no_check-->
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::SessionToken
## 概述
会话令牌的信息。
**Since:**
9
**Version:**
1.
0
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
sessionId
](
#sessionid
)
| std::string
<br/>
会话id
|
|
[
pid
](
#pid
)
| pid_t
<br/>
会话的进程id
|
|
[
uid
](
#uid
)
| uid_t
<br/>
用户id
|
## 结构体成员变量说明
### pid
```
pid_t OHOS::AVSession::SessionToken::pid
```
**描述:**
会话的进程id
### sessionId
```
std::string OHOS::AVSession::SessionToken::sessionId
```
**描述:**
会话id
### uid
```
uid_t OHOS::AVSession::SessionToken::uid
```
**描述:**
用户id
zh-cn/application-dev/reference/native-apis/_region.md
浏览文件 @
f768bd79
...
@@ -43,5 +43,3 @@ struct Rect Region::*rects
...
@@ -43,5 +43,3 @@ struct Rect Region::*rects
**描述:**
**描述:**
结构体指针,类型为
[
Rect
](
_rect.md
)
。如果rects是空指针nullptr, 默认Buffer大小为脏区。
结构体指针,类型为
[
Rect
](
_rect.md
)
。如果rects是空指针nullptr, 默认Buffer大小为脏区。
<!--no_check-->
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/_video_decoder.md
0 → 100644
浏览文件 @
f768bd79
# VideoDecoder
## 概述
VideoDecoder模块提供用于视频解码功能的函数。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**Since:**
9
**Version:**
1.
0
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
native_avcodec_videodecoder.h
](
native__avcodec__videodecoder_8h.md
)
| 声明用于视频解码的Native API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoDecoder_CreateByMime
](
#oh_videodecoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_VideoDecoder_CreateByName
](
#oh_videodecoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
|
[
OH_VideoDecoder_Destroy
](
#oh_videodecoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部资源,并销毁解码器实例。 |
|
[
OH_VideoDecoder_SetCallback
](
#oh_videodecoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoDecoder_SetSurface
](
#oh_videodecoder_setsurface
)
(
OH_AVCodec
\*
codec, OHNativeWindow
\*
window) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoDecoder_Configure
](
#oh_videodecoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoDecoder_Prepare
](
#oh_videodecoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_VideoDecoder_Start
](
#oh_videodecoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_VideoDecoder_Stop
](
#oh_videodecoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
|
[
OH_VideoDecoder_Flush
](
#oh_videodecoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_VideoDecoder_Reset
](
#oh_videodecoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
|
[
OH_VideoDecoder_GetOutputDescription
](
#oh_videodecoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
|
[
OH_VideoDecoder_SetParameter
](
#oh_videodecoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
|
[
OH_VideoDecoder_PushInputData
](
#oh_videodecoder_pushinputdata
)
(
OH_AVCodec
\*
codec, uint32_t index,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
attr) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将填充好数据的输入Buffer提交给视频解码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 |
|
[
OH_VideoDecoder_RenderOutputData
](
#oh_videodecoder_renderoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 |
|
[
OH_VideoDecoder_FreeOutputData
](
#oh_videodecoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给解码器。 |
## 函数说明
### OH_VideoDecoder_Configure()
```
OH_AVErrCode OH_VideoDecoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat的指针,用以给出待解码视频轨道的描述信息 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_CreateByMime()
```
OH_AVCodec* OH_VideoDecoder_CreateByMime (const char * mime)
```
**描述:**
通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mime | mime类型描述字符串,参考
[
OH_AVCODEC_MIMETYPE_VIDEO_AVC
](
_codec_base.md#oh_avcodec_mimetype_video_avc
)
|
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_VideoDecoder_CreateByName()
```
OH_AVCodec* OH_VideoDecoder_CreateByName (const char * name)
```
**描述:**
通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| name | 视频解码器名称 |
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_VideoDecoder_Destroy()
```
OH_AVErrCode OH_VideoDecoder_Destroy (OH_AVCodec * codec)
```
**描述:**
清空解码器内部资源,并销毁解码器实例。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_Flush()
```
OH_AVErrCode OH_VideoDecoder_Flush (OH_AVCodec * codec)
```
**描述:**
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_FreeOutputData()
```
OH_AVErrCode OH_VideoDecoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
**描述:**
将处理结束的输出Buffer交还给解码器。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_GetOutputDescription()
```
OH_AVFormat* OH_VideoDecoder_GetOutputDescription (OH_AVCodec * codec)
```
**描述:**
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
返回AVFormat实例的指针
### OH_VideoDecoder_Prepare()
```
OH_AVErrCode OH_VideoDecoder_Prepare (OH_AVCodec * codec)
```
**描述:**
准备解码器内部资源,调用该接口前必须先调用Configure接口。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_PushInputData()
```
OH_AVErrCode OH_VideoDecoder_PushInputData (OH_AVCodec * codec, uint32_t index, OH_AVCodecBufferAttr attr )
```
**描述:**
将填充好数据的输入Buffer提交给视频解码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输入Buffer对应的索引值 |
| attr | 描述该Buffer内所包含数据的信息 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_RenderOutputData()
```
OH_AVErrCode OH_VideoDecoder_RenderOutputData (OH_AVCodec * codec, uint32_t index )
```
**描述:**
将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_Reset()
```
OH_AVErrCode OH_VideoDecoder_Reset (OH_AVCodec * codec)
```
**描述:**
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_SetCallback()
```
OH_AVErrCode OH_VideoDecoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
**描述:**
设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
|
| userData | 用户特定数据 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_SetParameter()
```
OH_AVErrCode OH_VideoDecoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_SetSurface()
```
OH_AVErrCode OH_VideoDecoder_SetSurface (OH_AVCodec * codec, OHNativeWindow * window )
```
**描述:**
指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| window | 指向一个OHNativeWindow实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_Start()
```
OH_AVErrCode OH_VideoDecoder_Start (OH_AVCodec * codec)
```
**描述:**
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoDecoder_Stop()
```
OH_AVErrCode OH_VideoDecoder_Stop (OH_AVCodec * codec)
```
**描述:**
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。
@syscap SystemCapability.Multimedia.Media.VideoDecoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
zh-cn/application-dev/reference/native-apis/_video_encoder.md
0 → 100644
浏览文件 @
f768bd79
# VideoEncoder
## 概述
VideoEncoder模块提供用于视频编码功能的函数和枚举。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**Since:**
9
**Version:**
1.
0
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
native_avcodec_videoencoder.h
](
native__avcodec__videoencoder_8h.md
)
| 声明用于视频编码的Native API。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoEncodeBitrateMode
](
#oh_videoencodebitratemode
)
| typedef enum
[
OH_VideoEncodeBitrateMode
](
#oh_videoencodebitratemode
)
<br/>
视频编码的比特率模式。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoEncodeBitrateMode
](
#oh_videoencodebitratemode
)
{
**CBR**
= 0,
**VBR**
= 1,
**CQ**
= 2 } | 视频编码的比特率模式。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoEncoder_CreateByMime
](
#oh_videoencoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_VideoEncoder_CreateByName
](
#oh_videoencoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
|
[
OH_VideoEncoder_Destroy
](
#oh_videoencoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部资源,并销毁编码器实例。 |
|
[
OH_VideoEncoder_SetCallback
](
#oh_videoencoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoEncoder_Configure
](
#oh_videoencoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoEncoder_Prepare
](
#oh_videoencoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_VideoEncoder_Start
](
#oh_videoencoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_VideoEncoder_Stop
](
#oh_videoencoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止编码器。在停止后可通过Start重新进入Started状态。 |
|
[
OH_VideoEncoder_Flush
](
#oh_videoencoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_VideoEncoder_Reset
](
#oh_videoencoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
|
[
OH_VideoEncoder_GetOutputDescription
](
#oh_videoencoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
|
[
OH_VideoEncoder_SetParameter
](
#oh_videoencoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
|
[
OH_VideoEncoder_GetSurface
](
#oh_videoencoder_getsurface
)
(
OH_AVCodec
\*
codec, OHNativeWindow
\*\*
window) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoEncoder_FreeOutputData
](
#oh_videoencoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给编码器。 |
|
[
OH_VideoEncoder_NotifyEndOfStream
](
#oh_videoencoder_notifyendofstream
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 |
## 类型定义说明
### OH_VideoEncodeBitrateMode
```
typedef enum OH_VideoEncodeBitrateModeOH_VideoEncodeBitrateMode
```
**描述:**
视频编码的比特率模式。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
## 枚举类型说明
### OH_VideoEncodeBitrateMode
```
enum OH_VideoEncodeBitrateMode
```
**描述:**
视频编码的比特率模式。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
| 枚举值 | 描述 |
| -------- | -------- |
| CBR | 恒定比特率模式 |
| VBR | 可变比特率模式 |
| CQ | 恒定质量模式 |
## 函数说明
### OH_VideoEncoder_Configure()
```
OH_AVErrCode OH_VideoEncoder_Configure (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | 指向OH_AVFormat的指针,用以给出待编码视频轨道的描述信息 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_CreateByMime()
```
OH_AVCodec* OH_VideoEncoder_CreateByMime (const char * mime)
```
**描述:**
通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| mime | mime类型描述字符串,参考
[
OH_AVCODEC_MIMETYPE_VIDEO_AVC
](
_codec_base.md#oh_avcodec_mimetype_video_avc
)
|
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_VideoEncoder_CreateByName()
```
OH_AVCodec* OH_VideoEncoder_CreateByName (const char * name)
```
**描述:**
通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| name | 视频编码器名称 |
**返回:**
返回一个指向OH_AVCodec实例的指针
### OH_VideoEncoder_Destroy()
```
OH_AVErrCode OH_VideoEncoder_Destroy (OH_AVCodec * codec)
```
**描述:**
清空编码器内部资源,并销毁编码器实例。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_Flush()
```
OH_AVErrCode OH_VideoEncoder_Flush (OH_AVCodec * codec)
```
**描述:**
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_FreeOutputData()
```
OH_AVErrCode OH_VideoEncoder_FreeOutputData (OH_AVCodec * codec, uint32_t index )
```
**描述:**
将处理结束的输出Buffer交还给编码器。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| index | 输出Buffer对应的索引值 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_GetOutputDescription()
```
OH_AVFormat* OH_VideoEncoder_GetOutputDescription (OH_AVCodec * codec)
```
**描述:**
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
返回AVFormat实例的指针
### OH_VideoEncoder_GetSurface()
```
OH_AVErrCode OH_VideoEncoder_GetSurface (OH_AVCodec * codec, OHNativeWindow ** window )
```
**描述:**
从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| window | 指向一个OHNativeWindow实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_NotifyEndOfStream()
```
OH_AVErrCode OH_VideoEncoder_NotifyEndOfStream (OH_AVCodec * codec)
```
**描述:**
通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_Prepare()
```
OH_AVErrCode OH_VideoEncoder_Prepare (OH_AVCodec * codec)
```
**描述:**
准备编码器内部资源,调用该接口前必须先调用Configure接口。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_Reset()
```
OH_AVErrCode OH_VideoEncoder_Reset (OH_AVCodec * codec)
```
**描述:**
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_SetCallback()
```
OH_AVErrCode OH_VideoEncoder_SetCallback (OH_AVCodec * codec, OH_AVCodecAsyncCallback callback, void * userData )
```
**描述:**
设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| callback | 一个包含所有回调函数的集合体,参考
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
|
| userData | 用户特定数据 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_SetParameter()
```
OH_AVErrCode OH_VideoEncoder_SetParameter (OH_AVCodec * codec, OH_AVFormat * format )
```
**描述:**
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
| format | OH_AVFormat句柄指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_Start()
```
OH_AVErrCode OH_VideoEncoder_Start (OH_AVCodec * codec)
```
**描述:**
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
### OH_VideoEncoder_Stop()
```
OH_AVErrCode OH_VideoEncoder_Stop (OH_AVCodec * codec)
```
**描述:**
停止编码器。在停止后可通过Start重新进入Started状态。
@syscap SystemCapability.Multimedia.Media.VideoEncoder
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| codec | 指向OH_AVCodec实例的指针 |
**返回:**
执行成功返回AV_ERR_OK
执行失败返回具体错误码,参考
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
zh-cn/application-dev/reference/native-apis/av__session_8h.md
0 → 100644
浏览文件 @
f768bd79
# av_session.h
## 概述
会话的设置、获取等声明。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVSession
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md
)
| class
<br/>
会话对象,支持配置会话属性,并可主动更新播放状态和会话元数据。 |
zh-cn/application-dev/reference/native-apis/avcontrol__command_8h.md
0 → 100644
浏览文件 @
f768bd79
# avcontrol_command.h
## 概述
音视频控制指令的设置、获取、拷贝等声明。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVControlCommand
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
)
| class
<br/>
用于描述音视频播控命令工具类,播控命令的封装对象,支持设置和获取控制命令。 |
zh-cn/application-dev/reference/native-apis/avmeta__data_8h.md
0 → 100644
浏览文件 @
f768bd79
# avmeta_data.h
## 概述
会话元数据设置、获取、拷贝等接口声明。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
| class
<br/>
会话元数据类,提供获取metadata进程间传递的序列化和反序列话及数据拷贝的接口方法。 |
zh-cn/application-dev/reference/native-apis/avplayback__state_8h.md
0 → 100644
浏览文件 @
f768bd79
# avplayback_state.h
## 概述
音视频播放状态声明。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
| class
<br/>
音视频播放状态类,提供获取和设置播放界面的信息。 |
|
[
OHOS::AVSession::AVPlaybackState::Position
](
_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
)
| struct
<br/>
播放位置的相关信息。 |
zh-cn/application-dev/reference/native-apis/avsession.md
0 → 100644
浏览文件 @
f768bd79
# Avsession
## 概述
音视频媒体会话,提供系统内媒体的统一控制能力。
功能包括媒体会话,媒体会话管理,媒体会话控制。
@syscap SystemCapability.Multimedia.AVSession.Core
**Since:**
9
**Version:**
1.
0
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
av_session.h
](
av__session_8h.md
)
| 会话的设置、获取等声明。 |
|
[
avcontrol_command.h
](
avcontrol__command_8h.md
)
| 音视频控制指令的设置、获取、拷贝等声明。 |
|
[
avmeta_data.h
](
avmeta__data_8h.md
)
| 会话元数据设置、获取、拷贝等接口声明。 |
|
[
avplayback_state.h
](
avplayback__state_8h.md
)
| 音视频播放状态声明。 |
|
[
avsession_controller.h
](
avsession__controller_8h.md
)
| 控制器对象的描述,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 |
|
[
avsession_descriptor.h
](
avsession__descriptor_8h.md
)
| 会话的相关描述信息。 |
|
[
avsession_errors.h
](
avsession__errors_8h.md
)
| 定义了avsession错误码。 |
|
[
avsession_info.h
](
avsession__info_8h.md
)
| 定义了与avsession相关的监听器以及回调功能的实现。 |
|
[
avsession_manager.h
](
avsession__manager_8h.md
)
| 定义了会话管理器对外接口的功能的实现。 |
|
[
avsession_pixel_map.h
](
avsession__pixel__map_8h.md
)
| 读取、设置图片及图片信息。 |
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::OutputDeviceInfo
](
_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
)
| struct
<br/>
描述分布式设备的相关信息。 |
|
[
OHOS::AVSession::AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
| struct
<br/>
会话的相关描述信息。 |
|
[
OHOS::AVSession::AVSessionBasicInfo
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md
)
| struct
<br/>
会话基础信息描述。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVSessionDescriptor::WriteToParcel
](
#writetoparcel
)
(
Parcel
&
out) const | bool
<br/>
将会话相关描述信息写进包里。 |
|
[
OHOS::AVSession::AVSessionDescriptor::ReadFromParcel
](
#readfromparcel
)
(
Parcel
&
in) | bool
<br/>
对会话相关描述信息进行解包。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::OutputDeviceInfo::isRemote_
](
#isremote
)
{} | bool
<br/>
是否连接 |
|
[
OHOS::AVSession::OutputDeviceInfo::deviceIds_
](
#deviceids
)
| std::vector
<
std::string
>
<br/>
分布式设备的id集合 |
|
[
OHOS::AVSession::OutputDeviceInfo::deviceNames_
](
#devicenames
)
| std::vector
<
std::string
>
<br/>
分布式设备的名称集合 |
|
[
OHOS::AVSession::AVSessionDescriptor::sessionId_
](
#sessionid
)
| std::string
<br/>
会话的id |
|
[
OHOS::AVSession::AVSessionDescriptor::sessionType_
](
#sessiontype
)
{} | int32_t
<br/>
会话的类型 |
|
[
OHOS::AVSession::AVSessionDescriptor::sessionTag_
](
#sessiontag
)
| std::string
<br/>
会话的自定义名称 |
|
[
OHOS::AVSession::AVSessionDescriptor::elementName_
](
#elementname
)
| AppExecFwk::ElementName
<br/>
会话所属应用的信息包含bundleName,abilityName等 |
|
[
OHOS::AVSession::AVSessionDescriptor::pid_
](
#pid
)
{} | pid_t
<br/>
进程id |
|
[
OHOS::AVSession::AVSessionDescriptor::uid_
](
#uid
)
{} | pid_t
<br/>
用户id |
|
[
OHOS::AVSession::AVSessionDescriptor::isActive_
](
#isactive
)
{} | bool
<br/>
会话是否为激活状态 |
|
[
OHOS::AVSession::AVSessionDescriptor::isTopSession_
](
#istopsession
)
{} | bool
<br/>
会话是否是最新的会话 |
|
[
OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_
](
#isthirdpartyapp
)
{} | bool
<br/>
是否是第三方应用 |
|
[
OHOS::AVSession::AVSessionDescriptor::outputDeviceInfo_
](
#outputdeviceinfo
)
|
[
OutputDeviceInfo
](
_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
)
<br/>
分布式设备相关信息 |
|
[
OHOS::AVSession::AVSessionBasicInfo::deviceName_
](
#devicename
)
{} | std::string
<br/>
设备名称 |
|
[
OHOS::AVSession::AVSessionBasicInfo::networkId_
](
#networkid
)
{} | std::string
<br/>
设备id |
|
[
OHOS::AVSession::AVSessionBasicInfo::vendorId_
](
#vendorid
)
{} | std::string
<br/>
供应商id |
|
[
OHOS::AVSession::AVSessionBasicInfo::deviceType_
](
#devicetype
)
{} | std::string
<br/>
设备类型 |
|
[
OHOS::AVSession::AVSessionBasicInfo::systemVersion_
](
#systemversion
)
{} | std::string
<br/>
系统版本 |
|
[
OHOS::AVSession::AVSessionBasicInfo::sessionVersion_
](
#sessionversion
)
{} | int32_t
<br/>
会话版本 |
|
[
OHOS::AVSession::AVSessionBasicInfo::reserve_
](
#reserve
)
{} | std::vector
<
int32_t
>
<br/>
备注信息 |
|
[
OHOS::AVSession::AVSessionBasicInfo::feature_
](
#feature
)
{} | std::vector
<
int32_t
>
<br/>
特征信息 |
|
[
OHOS::AVSession::AVSessionBasicInfo::metaDataCap_
](
#metadatacap
)
{} | std::vector
<
int32_t
>
<br/>
会话元数据 |
|
[
OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_
](
#playbackstatecap
)
{} | std::vector
<
int32_t
>
<br/>
支持播放状态数组 |
|
[
OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_
](
#controlcommandcap
)
{} | std::vector
<
int32_t
>
<br/>
系统控制命令 |
|
[
OHOS::AVSession::AVSessionBasicInfo::extendCapability_
](
#extendcapability
)
{} | std::vector
<
int32_t
>
<br/>
扩展能力 |
|
[
OHOS::AVSession::AVSessionBasicInfo::systemTime_
](
#systemtime
)
{} | int32_t
<br/>
系统时间 |
|
[
OHOS::AVSession::AVSessionBasicInfo::extend_
](
#extend
)
{} | std::vector
<
int32_t
>
<br/>
扩展信息 |
## 函数说明
### ReadFromParcel()
```
bool OHOS::AVSession::AVSessionDescriptor::ReadFromParcel (Parcel & in)
```
**描述:**
对会话相关描述信息进行解包。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| in | 读出的会话相关描述信息对象
**Parcel**
。 |
**返回:**
成功返回true;失败则返回false。
**参见:**
[
WriteToParcel
](
#writetoparcel
)
### WriteToParcel()
```
bool OHOS::AVSession::AVSessionDescriptor::WriteToParcel (Parcel & out) const
```
**描述:**
将会话相关描述信息写进包里。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| out | 写入的会话相关描述信息对象
**Parcel**
。 |
**返回:**
成功返回true;失败则返回false。
**参见:**
[
ReadFromParcel
](
#readfromparcel
)
## 变量说明
### controlCommandCap_
```
std::vector<int32_t> OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_ {}
```
**描述:**
系统控制命令
### deviceIds_
```
std::vector<std::string> OHOS::AVSession::OutputDeviceInfo::deviceIds_
```
**描述:**
分布式设备的id集合
### deviceName_
```
std::string OHOS::AVSession::AVSessionBasicInfo::deviceName_ {}
```
**描述:**
设备名称
### deviceNames_
```
std::vector<std::string> OHOS::AVSession::OutputDeviceInfo::deviceNames_
```
**描述:**
分布式设备的名称集合
### deviceType_
```
std::string OHOS::AVSession::AVSessionBasicInfo::deviceType_ {}
```
**描述:**
设备类型
### elementName_
```
AppExecFwk::ElementName OHOS::AVSession::AVSessionDescriptor::elementName_
```
**描述:**
会话所属应用的信息包含bundleName,abilityName等
### extend_
```
std::vector<int32_t> OHOS::AVSession::AVSessionBasicInfo::extend_ {}
```
**描述:**
扩展信息
### extendCapability_
```
std::vector<int32_t> OHOS::AVSession::AVSessionBasicInfo::extendCapability_ {}
```
**描述:**
扩展能力
### feature_
```
std::vector<int32_t> OHOS::AVSession::AVSessionBasicInfo::feature_ {}
```
**描述:**
特征信息
### isActive_
```
bool OHOS::AVSession::AVSessionDescriptor::isActive_ {}
```
**描述:**
会话是否为激活状态
### isRemote_
```
bool OHOS::AVSession::OutputDeviceInfo::isRemote_ {}
```
**描述:**
是否连接
### isThirdPartyApp_
```
bool OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_ {}
```
**描述:**
是否是第三方应用
### isTopSession_
```
bool OHOS::AVSession::AVSessionDescriptor::isTopSession_ {}
```
**描述:**
会话是否是最新的会话
### metaDataCap_
```
std::vector<int32_t> OHOS::AVSession::AVSessionBasicInfo::metaDataCap_ {}
```
**描述:**
会话元数据
### networkId_
```
std::string OHOS::AVSession::AVSessionBasicInfo::networkId_ {}
```
**描述:**
设备id
### outputDeviceInfo_
```
OutputDeviceInfo OHOS::AVSession::AVSessionDescriptor::outputDeviceInfo_
```
**描述:**
分布式设备相关信息
### pid_
```
pid_t OHOS::AVSession::AVSessionDescriptor::pid_ {}
```
**描述:**
进程id
### playBackStateCap_
```
std::vector<int32_t> OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_ {}
```
**描述:**
支持播放状态数组
### reserve_
```
std::vector<int32_t> OHOS::AVSession::AVSessionBasicInfo::reserve_ {}
```
**描述:**
备注信息
### sessionId_
```
std::string OHOS::AVSession::AVSessionDescriptor::sessionId_
```
**描述:**
会话的id
### sessionTag_
```
std::string OHOS::AVSession::AVSessionDescriptor::sessionTag_
```
**描述:**
会话的自定义名称
### sessionType_
```
int32_t OHOS::AVSession::AVSessionDescriptor::sessionType_ {}
```
**描述:**
会话的类型
### sessionVersion_
```
int32_t OHOS::AVSession::AVSessionBasicInfo::sessionVersion_ {}
```
**描述:**
会话版本
### systemTime_
```
int32_t OHOS::AVSession::AVSessionBasicInfo::systemTime_ {}
```
**描述:**
系统时间
### systemVersion_
```
std::string OHOS::AVSession::AVSessionBasicInfo::systemVersion_ {}
```
**描述:**
系统版本
### uid_
```
pid_t OHOS::AVSession::AVSessionDescriptor::uid_ {}
```
**描述:**
用户id
### vendorId_
```
std::string OHOS::AVSession::AVSessionBasicInfo::vendorId_ {}
```
**描述:**
供应商id
zh-cn/application-dev/reference/native-apis/avsession__controller_8h.md
0 → 100644
浏览文件 @
f768bd79
# avsession_controller.h
## 概述
控制器对象的描述,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVSessionController
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
)
| class
<br/>
控制器对象,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 |
zh-cn/application-dev/reference/native-apis/avsession__descriptor_8h.md
0 → 100644
浏览文件 @
f768bd79
# avsession_descriptor.h
## 概述
会话的相关描述信息。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::OutputDeviceInfo
](
_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
)
| struct
<br/>
描述分布式设备的相关信息。 |
|
[
OHOS::AVSession::AVSessionDescriptor
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
| struct
<br/>
会话的相关描述信息。 |
|
[
OHOS::AVSession::AVSessionBasicInfo
](
o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md
)
| struct
<br/>
会话基础信息描述。 |
zh-cn/application-dev/reference/native-apis/avsession__errors_8h.md
0 → 100644
浏览文件 @
f768bd79
# avsession_errors.h
## 概述
定义了avsession错误码。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 变量
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVSESSION_ERROR
](
#avsession_error
)
= -1 | constexpr int32_t
<br/>
存在错误 |
|
[
OHOS::AVSession::AVSESSION_SUCCESS
](
#avsession_success
)
= 0 | constexpr int32_t
<br/>
操作成功 |
|
[
OHOS::AVSession::AVSESSION_ERROR_BASE
](
#avsession_error_base
)
= 1000 | constexpr int32_t
<br/>
avsession错误码的基定义 |
|
[
OHOS::AVSession::ERR_NO_MEMORY
](
#err_no_memory
)
= -(AVSESSION_ERROR_BASE + 1) | constexpr int32_t
<br/>
无可用内存 |
|
[
OHOS::AVSession::ERR_INVALID_PARAM
](
#err_invalid_param
)
= -(AVSESSION_ERROR_BASE + 2) | constexpr int32_t
<br/>
传递的参数无效 |
|
[
OHOS::AVSession::ERR_SERVICE_NOT_EXIST
](
#err_service_not_exist
)
= -(AVSESSION_ERROR_BASE + 3) | constexpr int32_t
<br/>
服务不存在 |
|
[
OHOS::AVSession::ERR_SESSION_LISTENER_EXIST
](
#err_session_listener_exist
)
= -(AVSESSION_ERROR_BASE + 4) | constexpr int32_t
<br/>
Session监听器已存在 |
|
[
OHOS::AVSession::ERR_MARSHALLING
](
#err_marshalling
)
= -(AVSESSION_ERROR_BASE + 5) | constexpr int32_t
<br/>
数据序列化操作错误 |
|
[
OHOS::AVSession::ERR_UNMARSHALLING
](
#err_unmarshalling
)
= -(AVSESSION_ERROR_BASE + 6) | constexpr int32_t
<br/>
数据反序列化操作错误 |
|
[
OHOS::AVSession::ERR_IPC_SEND_REQUEST
](
#err_ipc_send_request
)
= -(AVSESSION_ERROR_BASE + 7) | constexpr int32_t
<br/>
IPC发送数据失败 |
|
[
OHOS::AVSession::ERR_SESSION_EXCEED_MAX
](
#err_session_exceed_max
)
= -(AVSESSION_ERROR_BASE + 8) | constexpr int32_t
<br/>
超过允许会话最大数量 |
|
[
OHOS::AVSession::ERR_SESSION_NOT_EXIST
](
#err_session_not_exist
)
= -(AVSESSION_ERROR_BASE + 9) | constexpr int32_t
<br/>
会话不存在 |
|
[
OHOS::AVSession::ERR_COMMAND_NOT_SUPPORT
](
#err_command_not_support
)
= -(AVSESSION_ERROR_BASE + 10) | constexpr int32_t
<br/>
会话命令不支持 |
|
[
OHOS::AVSession::ERR_CONTROLLER_NOT_EXIST
](
#err_controller_not_exist
)
= -(AVSESSION_ERROR_BASE + 11) | constexpr int32_t
<br/>
控制器不存在 |
|
[
OHOS::AVSession::ERR_NO_PERMISSION
](
#err_no_permission
)
= -(AVSESSION_ERROR_BASE + 12) | constexpr int32_t
<br/>
无权限 |
|
[
OHOS::AVSession::ERR_SESSION_DEACTIVE
](
#err_session_deactive
)
= -(AVSESSION_ERROR_BASE + 13) | constexpr int32_t
<br/>
会话未激活 |
|
[
OHOS::AVSession::ERR_CONTROLLER_IS_EXIST
](
#err_controller_is_exist
)
= -(AVSESSION_ERROR_BASE + 14) | constexpr int32_t
<br/>
控制器存在 |
|
[
OHOS::AVSession::ERR_START_ABILITY_IS_RUNNING
](
#err_start_ability_is_running
)
= -(AVSESSION_ERROR_BASE + 15) | constexpr int32_t
<br/>
元能力正在运行 |
|
[
OHOS::AVSession::ERR_ABILITY_NOT_AVAILABLE
](
#err_ability_not_available
)
= -(AVSESSION_ERROR_BASE + 16) | constexpr int32_t
<br/>
元能力启动超失败 |
|
[
OHOS::AVSession::ERR_START_ABILITY_TIMEOUT
](
#err_start_ability_timeout
)
= -(AVSESSION_ERROR_BASE + 17) | constexpr int32_t
<br/>
元能力启动超时 |
|
[
OHOS::AVSession::ERR_COMMAND_SEND_EXCEED_MAX
](
#err_command_send_exceed_max
)
= -(AVSESSION_ERROR_BASE + 18) | constexpr int32_t
<br/>
指令发送次数超过最大值 |
|
[
OHOS::AVSession::ERR_RPC_SEND_REQUEST
](
#err_rpc_send_request
)
= -(AVSESSION_ERROR_BASE + 19) | constexpr int32_t
<br/>
RPC发送数据失败 |
## 变量说明
### AVSESSION_ERROR
```
constexpr int32_t OHOS::AVSession::AVSESSION_ERROR = -1
```
**描述:**
存在错误
### AVSESSION_ERROR_BASE
```
constexpr int32_t OHOS::AVSession::AVSESSION_ERROR_BASE = 1000
```
**描述:**
avsession错误码的基定义
### AVSESSION_SUCCESS
```
constexpr int32_t OHOS::AVSession::AVSESSION_SUCCESS = 0
```
**描述:**
操作成功
### ERR_ABILITY_NOT_AVAILABLE
```
constexpr int32_t OHOS::AVSession::ERR_ABILITY_NOT_AVAILABLE = -(AVSESSION_ERROR_BASE + 16)
```
**描述:**
元能力启动超失败
### ERR_COMMAND_NOT_SUPPORT
```
constexpr int32_t OHOS::AVSession::ERR_COMMAND_NOT_SUPPORT = -(AVSESSION_ERROR_BASE + 10)
```
**描述:**
会话命令不支持
### ERR_COMMAND_SEND_EXCEED_MAX
```
constexpr int32_t OHOS::AVSession::ERR_COMMAND_SEND_EXCEED_MAX = -(AVSESSION_ERROR_BASE + 18)
```
**描述:**
指令发送次数超过最大值
### ERR_CONTROLLER_IS_EXIST
```
constexpr int32_t OHOS::AVSession::ERR_CONTROLLER_IS_EXIST = -(AVSESSION_ERROR_BASE + 14)
```
**描述:**
控制器存在
### ERR_CONTROLLER_NOT_EXIST
```
constexpr int32_t OHOS::AVSession::ERR_CONTROLLER_NOT_EXIST = -(AVSESSION_ERROR_BASE + 11)
```
**描述:**
控制器不存在
### ERR_INVALID_PARAM
```
constexpr int32_t OHOS::AVSession::ERR_INVALID_PARAM = -(AVSESSION_ERROR_BASE + 2)
```
**描述:**
传递的参数无效
### ERR_IPC_SEND_REQUEST
```
constexpr int32_t OHOS::AVSession::ERR_IPC_SEND_REQUEST = -(AVSESSION_ERROR_BASE + 7)
```
**描述:**
IPC发送数据失败
### ERR_MARSHALLING
```
constexpr int32_t OHOS::AVSession::ERR_MARSHALLING = -(AVSESSION_ERROR_BASE + 5)
```
**描述:**
数据序列化操作错误
### ERR_NO_MEMORY
```
constexpr int32_t OHOS::AVSession::ERR_NO_MEMORY = -(AVSESSION_ERROR_BASE + 1)
```
**描述:**
无可用内存
### ERR_NO_PERMISSION
```
constexpr int32_t OHOS::AVSession::ERR_NO_PERMISSION = -(AVSESSION_ERROR_BASE + 12)
```
**描述:**
无权限
### ERR_RPC_SEND_REQUEST
```
constexpr int32_t OHOS::AVSession::ERR_RPC_SEND_REQUEST = -(AVSESSION_ERROR_BASE + 19)
```
**描述:**
RPC发送数据失败
### ERR_SERVICE_NOT_EXIST
```
constexpr int32_t OHOS::AVSession::ERR_SERVICE_NOT_EXIST = -(AVSESSION_ERROR_BASE + 3)
```
**描述:**
服务不存在
### ERR_SESSION_DEACTIVE
```
constexpr int32_t OHOS::AVSession::ERR_SESSION_DEACTIVE = -(AVSESSION_ERROR_BASE + 13)
```
**描述:**
会话未激活
### ERR_SESSION_EXCEED_MAX
```
constexpr int32_t OHOS::AVSession::ERR_SESSION_EXCEED_MAX = -(AVSESSION_ERROR_BASE + 8)
```
**描述:**
超过允许会话最大数量
### ERR_SESSION_LISTENER_EXIST
```
constexpr int32_t OHOS::AVSession::ERR_SESSION_LISTENER_EXIST = -(AVSESSION_ERROR_BASE + 4)
```
**描述:**
Session监听器已存在
### ERR_SESSION_NOT_EXIST
```
constexpr int32_t OHOS::AVSession::ERR_SESSION_NOT_EXIST = -(AVSESSION_ERROR_BASE + 9)
```
**描述:**
会话不存在
### ERR_START_ABILITY_IS_RUNNING
```
constexpr int32_t OHOS::AVSession::ERR_START_ABILITY_IS_RUNNING = -(AVSESSION_ERROR_BASE + 15)
```
**描述:**
元能力正在运行
### ERR_START_ABILITY_TIMEOUT
```
constexpr int32_t OHOS::AVSession::ERR_START_ABILITY_TIMEOUT = -(AVSESSION_ERROR_BASE + 17)
```
**描述:**
元能力启动超时
### ERR_UNMARSHALLING
```
constexpr int32_t OHOS::AVSession::ERR_UNMARSHALLING = -(AVSESSION_ERROR_BASE + 6)
```
**描述:**
数据反序列化操作错误
zh-cn/application-dev/reference/native-apis/avsession__info_8h.md
0 → 100644
浏览文件 @
f768bd79
# avsession_info.h
## 概述
定义了与avsession相关的监听器以及回调功能的实现。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::SessionListener
](
_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
)
| class
<br/>
定义与AVSession相关监听器的类的实现。 |
|
[
OHOS::AVSession::AVSessionCallback
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
)
| class
<br/>
定义AVSession回调类的实现 |
|
[
OHOS::AVSession::AVControllerCallback
](
_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md
)
| class
<br/>
定义控制器相关回调操作的类的实现。 |
|
[
OHOS::AVSession::SessionToken
](
_o_h_o_s_1_1_a_v_session_1_1_session_token.md
)
| struct
<br/>
会话令牌的信息。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::DeathCallback
](
#deathcallback
)
= std::function
<
void()
>
| using |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::SessionDataCategory
](
#sessiondatacategory
)
{
<br/>
**OHOS::AVSession::SESSION_DATA_CATEGORY_INVALID**
= -1,
**OHOS::AVSession::SESSION_DATA_META**
= 0,
**OHOS::AVSession::SESSION_DATA_PLAYBACK_STATE**
= 1,
**OHOS::AVSession::SESSION_DATA_CONTROL_COMMAND**
= 2,
**OHOS::AVSession::SESSION_DATA_CATEGORY_MAX**
= 3
<br/>
} | 会话元数据处理标识 |
## 类型定义说明
### DeathCallback
```
using OHOS::AVSession::DeathCallback = typedef std::function<void()>
```
**描述:**
AVSession死亡回调
## 枚举类型说明
### SessionDataCategory
```
enum OHOS::AVSession::SessionDataCategory
```
**描述:**
会话元数据处理标识
| 枚举值 | 描述 |
| -------- | -------- |
| SESSION_DATA_CATEGORY_INVALID | 无效类型,内部用于类型是否有效 |
| SESSION_DATA_META | 会话元数据 |
| SESSION_DATA_PLAYBACK_STATE | 会话播放状态 |
| SESSION_DATA_CONTROL_COMMAND | 会话控制命令 |
| SESSION_DATA_CATEGORY_MAX | 会话数据类型的数量 |
zh-cn/application-dev/reference/native-apis/avsession__manager_8h.md
0 → 100644
浏览文件 @
f768bd79
# avsession_manager.h
## 概述
定义了会话管理器对外接口的功能的实现。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVSessionManager
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md
)
| class
<br/>
实现会话管理器对外接口功能的类的实现。 |
zh-cn/application-dev/reference/native-apis/avsession__pixel__map_8h.md
0 → 100644
浏览文件 @
f768bd79
# avsession_pixel_map.h
## 概述
读取、设置图片及图片信息。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::AVSessionPixelMap
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
)
| class
<br/>
读取、设置图片及图片信息。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
|
[
OHOS::AVSession::DEFAULT_BUFFER_SIZE
](
#default_buffer_size
)
= 160
\*
1024 | constexpr size_t
<br/>
初始化容器大小为160KB |
## 变量说明
### DEFAULT_BUFFER_SIZE
```
constexpr size_t OHOS::AVSession::DEFAULT_BUFFER_SIZE = 160 * 1024
```
**描述:**
初始化容器大小为160KB
zh-cn/application-dev/reference/native-apis/native__avcodec__audiodecoder_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_avcodec_audiodecoder.h
## 概述
声明用于音频解码的Native API。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
AudioDecoder
](
_audio_decoder.md
)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AudioDecoder_CreateByMime
](
_audio_decoder.md#oh_audiodecoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个音频解码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_AudioDecoder_CreateByName
](
_audio_decoder.md#oh_audiodecoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过音频解码器名称创建一个音频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
|
[
OH_AudioDecoder_Destroy
](
_audio_decoder.md#oh_audiodecoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部资源,并销毁解码器实例 |
|
[
OH_AudioDecoder_SetCallback
](
_audio_decoder.md#oh_audiodecoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应音频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioDecoder_Configure
](
_audio_decoder.md#oh_audiodecoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置音频解码器,典型地,需要配置被解码音频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioDecoder_Prepare
](
_audio_decoder.md#oh_audiodecoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_AudioDecoder_Start
](
_audio_decoder.md#oh_audiodecoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_AudioDecoder_Stop
](
_audio_decoder.md#oh_audiodecoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
|
[
OH_AudioDecoder_Flush
](
_audio_decoder.md#oh_audiodecoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_AudioDecoder_Reset
](
_audio_decoder.md#oh_audiodecoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
|
[
OH_AudioDecoder_GetOutputDescription
](
_audio_decoder.md#oh_audiodecoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
|
[
OH_AudioDecoder_SetParameter
](
_audio_decoder.md#oh_audiodecoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
|
[
OH_AudioDecoder_PushInputData
](
_audio_decoder.md#oh_audiodecoder_pushinputdata
)
(
OH_AVCodec
\*
codec, uint32_t index,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
attr) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将填充好数据的输入Buffer提交给音频解码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程。 |
|
[
OH_AudioDecoder_FreeOutputData
](
_audio_decoder.md#oh_audiodecoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给解码器。 |
zh-cn/application-dev/reference/native-apis/native__avcodec__audioencoder_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_avcodec_audioencoder.h
## 概述
声明用于音频编码的Native API。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
AudioEncoder
](
_audio_encoder.md
)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AudioEncoder_CreateByMime
](
_audio_encoder.md#oh_audioencoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个音频编码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_AudioEncoder_CreateByName
](
_audio_encoder.md#oh_audioencoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过音频编码器名称创建一个音频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
|
[
OH_AudioEncoder_Destroy
](
_audio_encoder.md#oh_audioencoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部资源,并销毁编码器实例。 |
|
[
OH_AudioEncoder_SetCallback
](
_audio_encoder.md#oh_audioencoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应音频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioEncoder_Configure
](
_audio_encoder.md#oh_audioencoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置音频编码器,典型地,需要配置被编码音频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_AudioEncoder_Prepare
](
_audio_encoder.md#oh_audioencoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_AudioEncoder_Start
](
_audio_encoder.md#oh_audioencoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_AudioEncoder_Stop
](
_audio_encoder.md#oh_audioencoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止编码器。在停止后可通过Start重新进入Started状态。 |
|
[
OH_AudioEncoder_Flush
](
_audio_encoder.md#oh_audioencoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_AudioEncoder_Reset
](
_audio_encoder.md#oh_audioencoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
|
[
OH_AudioEncoder_GetOutputDescription
](
_audio_encoder.md#oh_audioencoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例需调用者手动释放。 |
|
[
OH_AudioEncoder_SetParameter
](
_audio_encoder.md#oh_audioencoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
|
[
OH_AudioEncoder_PushInputData
](
_audio_encoder.md#oh_audioencoder_pushinputdata
)
(
OH_AVCodec
\*
codec, uint32_t index,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
attr) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将填充好数据的输入Buffer提交给音频编码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给编码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。 |
|
[
OH_AudioEncoder_FreeOutputData
](
_audio_encoder.md#oh_audioencoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给编码器。 |
zh-cn/application-dev/reference/native-apis/native__avcodec__base_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_avcodec_base.h
## 概述
声明运行音视频编解码通用的结构体、字符常量、枚举。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
CodecBase
](
_codec_base.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
| struct
<br/>
定义OH_AVCodec的Buffer描述信息。 |
|
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
| struct
<br/>
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
**OHNativeWindow**
| typedef struct NativeWindow |
|
**OH_AVCodec**
| typedef struct OH_AVCodec |
|
[
OH_AVCodecBufferFlags
](
_codec_base.md#oh_avcodecbufferflags
)
| typedef enum
[
OH_AVCodecBufferFlags
](
_codec_base.md#oh_avcodecbufferflags
)
<br/>
枚举OH_AVCodec的Buffer标记的类别。 |
|
[
OH_AVCodecBufferAttr
](
_codec_base.md#oh_avcodecbufferattr
)
| typedef struct
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
<br/>
定义OH_AVCodec的Buffer描述信息。 |
|
[
OH_AVCodecOnError
](
_codec_base.md#oh_avcodeconerror
)
) (OH_AVCodec
\*
codec, int32_t errorCode, void
\*
userData) | typedef void(
\*
<br/>
当OH_AVCodec实例运行发生错误时,该函数指针会被调用以报告具体错误信息。 |
|
[
OH_AVCodecOnStreamChanged
](
_codec_base.md#oh_avcodeconstreamchanged
)
) (OH_AVCodec
\*
codec, OH_AVFormat
\*
format, void
\*
userData) | typedef void(
\*
<br/>
当输出流发生变化时,该函数指针会被调用以报告新的流描述信息。 需要注意的时,OH_AVFormat指针的生命周期仅维持在该函数指针被调用时上有效,禁止在调用结束后继续访问。 |
|
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
) (OH_AVCodec
\*
codec, uint32_t index, OH_AVMemory
\*
data, void
\*
userData) | typedef void(
\*
<br/>
当AVCodec运行过程中需要新的输入数据时,该函数指针会被调用,并携带一块可用的Buffer以供填入新的输入数据。 |
|
[
OH_AVCodecOnNewOutputData
](
_codec_base.md#oh_avcodeconnewoutputdata
)
) (OH_AVCodec
\*
codec, uint32_t index, OH_AVMemory
\*
data,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
\*
attr, void
\*
userData) | typedef void(
\*
<br/>
当AVCodec运行过程中产生了新的输出数据时,该函数指针会被调用,并携带一块包含新输出数据的Buffer, 需要注意的是,OH_AVCodecBufferAttr指针的生命周期仅维持在该函数指针被调用时有效,禁止调用结束后继续访问。 |
|
[
OH_AVCodecAsyncCallback
](
_codec_base.md#oh_avcodecasynccallback
)
| typedef struct
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
<br/>
AVCodec所有的异步回调函数指针集合。注册一个该结构体实例给OH_AVCodec实例,并处理通过该回调报告 的信息,以确保AVCodec正常运转。 |
|
[
OH_MediaType
](
_codec_base.md#oh_mediatype
)
| typedef enum
[
OH_MediaType
](
_codec_base.md#oh_mediatype
)
<br/>
媒体类型。 |
|
[
OH_AVCProfile
](
_codec_base.md#oh_avcprofile
)
| typedef enum
[
OH_AVCProfile
](
_codec_base.md#oh_avcprofile
)
<br/>
AVC Profile枚举。 |
|
[
OH_AACProfile
](
_codec_base.md#oh_aacprofile
)
| typedef enum
[
OH_AACProfile
](
_codec_base.md#oh_aacprofile
)
<br/>
AAC Profile枚举。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVCodecBufferFlags
](
_codec_base.md#oh_avcodecbufferflags
)
{
<br/>
**AVCODEC_BUFFER_FLAGS_NONE**
= 0,
**AVCODEC_BUFFER_FLAGS_EOS**
= 1
<<
0,
**AVCODEC_BUFFER_FLAGS_SYNC_FRAME**
= 1
<<
1,
**AVCODEC_BUFFER_FLAGS_INCOMPLETE_FRAME**
= 1
<<
2,
<br/>
**AVCODEC_BUFFER_FLAGS_CODEC_DATA**
= 1
<<
3
<br/>
} | 枚举OH_AVCodec的Buffer标记的类别。 |
|
[
OH_MediaType
](
_codec_base.md#oh_mediatype
)
{
**MEDIA_TYPE_AUD**
= 0,
**MEDIA_TYPE_VID**
= 1 } | 媒体类型。 |
|
[
OH_AVCProfile
](
_codec_base.md#oh_avcprofile
)
{
**AVC_PROFILE_BASELINE**
= 0,
**AVC_PROFILE_HIGH**
= 4,
**AVC_PROFILE_MAIN**
= 8 } | AVC Profile枚举。 |
|
[
OH_AACProfile
](
_codec_base.md#oh_aacprofile
)
{
**AAC_PROFILE_LC**
= 0 } | AAC Profile枚举。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVCODEC_MIMETYPE_VIDEO_AVC
](
_codec_base.md#oh_avcodec_mimetype_video_avc
)
| const char
\*
<br/>
AVC视频编解码器的MIME类型。 |
|
[
OH_AVCODEC_MIMETYPE_AUDIO_AAC
](
_codec_base.md#oh_avcodec_mimetype_audio_aac
)
| const char
\*
<br/>
AAC音频编解码器的MIME类型。 |
|
[
OH_ED_KEY_TIME_STAMP
](
_codec_base.md#oh_ed_key_time_stamp
)
| const char
\*
<br/>
提供统一的surface Buffer附属数据的字符描述符。 |
|
[
OH_ED_KEY_EOS
](
_codec_base.md#oh_ed_key_eos
)
| const char
\*
|
|
[
OH_MD_KEY_TRACK_TYPE
](
_codec_base.md#oh_md_key_track_type
)
| const char
\*
<br/>
为媒体播放框架提供统一的字符描述符。 |
|
[
OH_MD_KEY_CODEC_MIME
](
_codec_base.md#oh_md_key_codec_mime
)
| const char
\*
|
|
[
OH_MD_KEY_DURATION
](
_codec_base.md#oh_md_key_duration
)
| const char
\*
|
|
[
OH_MD_KEY_BITRATE
](
_codec_base.md#oh_md_key_bitrate
)
| const char
\*
|
|
[
OH_MD_KEY_MAX_INPUT_SIZE
](
_codec_base.md#oh_md_key_max_input_size
)
| const char
\*
|
|
[
OH_MD_KEY_WIDTH
](
_codec_base.md#oh_md_key_width
)
| const char
\*
|
|
[
OH_MD_KEY_HEIGHT
](
_codec_base.md#oh_md_key_height
)
| const char
\*
|
|
[
OH_MD_KEY_PIXEL_FORMAT
](
_codec_base.md#oh_md_key_pixel_format
)
| const char
\*
|
|
[
OH_MD_KEY_AUDIO_SAMPLE_FORMAT
](
_codec_base.md#oh_md_key_audio_sample_format
)
| const char
\*
|
|
[
OH_MD_KEY_FRAME_RATE
](
_codec_base.md#oh_md_key_frame_rate
)
| const char
\*
|
|
[
OH_MD_KEY_VIDEO_ENCODE_BITRATE_MODE
](
_codec_base.md#oh_md_key_video_encode_bitrate_mode
)
| const char
\*
|
|
[
OH_MD_KEY_PROFILE
](
_codec_base.md#oh_md_key_profile
)
| const char
\*
|
|
[
OH_MD_KEY_AUD_CHANNEL_COUNT
](
_codec_base.md#oh_md_key_aud_channel_count
)
| const char
\*
|
|
[
OH_MD_KEY_AUD_SAMPLE_RATE
](
_codec_base.md#oh_md_key_aud_sample_rate
)
| const char
\*
|
|
[
OH_MD_KEY_I_FRAME_INTERVAL
](
_codec_base.md#oh_md_key_i_frame_interval
)
| const char
\*
|
|
[
OH_MD_KEY_ROTATION
](
_codec_base.md#oh_md_key_rotation
)
| const char
\*
|
zh-cn/application-dev/reference/native-apis/native__avcodec__videodecoder_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_avcodec_videodecoder.h
## 概述
声明用于视频解码的Native API。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
VideoDecoder
](
_video_decoder.md
)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoDecoder_CreateByMime
](
_video_decoder.md#oh_videodecoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个视频解码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_VideoDecoder_CreateByName
](
_video_decoder.md#oh_videodecoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过视频解码器名称创建一个视频解码器实例,使用这个接口的前提是必须清楚解码器准确的名称。 |
|
[
OH_VideoDecoder_Destroy
](
_video_decoder.md#oh_videodecoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部资源,并销毁解码器实例。 |
|
[
OH_VideoDecoder_SetCallback
](
_video_decoder.md#oh_videodecoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应视频解码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoDecoder_SetSurface
](
_video_decoder.md#oh_videodecoder_setsurface
)
(
OH_AVCodec
\*
codec, OHNativeWindow
\*
window) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
指定输出Surface,以提供视频解码输出,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoDecoder_Configure
](
_video_decoder.md#oh_videodecoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置视频解码器,典型地,需要配置被解码视频轨道的描述信息,这些信息能够从容器中提取出来, 该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoDecoder_Prepare
](
_video_decoder.md#oh_videodecoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备解码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_VideoDecoder_Start
](
_video_decoder.md#oh_videodecoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动解码器,该接口必须在已经Prepare成功后调用。 在启动成功后,解码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_VideoDecoder_Stop
](
_video_decoder.md#oh_videodecoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止解码器。在停止后可通过Start重新进入Started状态,但需要注意的是,若先前给解码器输入过 Codec-Specific-Data,则需要重新输入。 |
|
[
OH_VideoDecoder_Flush
](
_video_decoder.md#oh_videodecoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空解码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_VideoDecoder_Reset
](
_video_decoder.md#oh_videodecoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置解码器。如需继续解码工作,需要重新调用Configure接口以配置该解码器实例。 |
|
[
OH_VideoDecoder_GetOutputDescription
](
_video_decoder.md#oh_videodecoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该解码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
|
[
OH_VideoDecoder_SetParameter
](
_video_decoder.md#oh_videodecoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向解码器设置动态参数,注意:该接口仅能在解码器被启动后调用,同时错误的参数设置,可能会导致解码失败。 |
|
[
OH_VideoDecoder_PushInputData
](
_video_decoder.md#oh_videodecoder_pushinputdata
)
(
OH_AVCodec
\*
codec, uint32_t index,
[
OH_AVCodecBufferAttr
](
_o_h___a_v_codec_buffer_attr.md
)
attr) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将填充好数据的输入Buffer提交给视频解码器。
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调会报告可用的输入 Buffer及对应的索引值。一旦指定索引的Buffer被提交给解码器,直到再一次收到
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
回调报告相同索引的Buffer可用前,该Buffer都不可以再次被访问。另外,对于部分解码器,要求在最开始给解码器输入 Codec-Specific-Data,用以初始化解码器的解码过程,例如H264格式的PPS/SPS数据。 |
|
[
OH_VideoDecoder_RenderOutputData
](
_video_decoder.md#oh_videodecoder_renderoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给解码器,并通知解码器完成将该Buffer内包含的解码后的数据在输出Surface上渲染。 如果先前未配置输出Surface,调用该接口仅仅将指定索引对应的输出Buffer交还给解码器。 |
|
[
OH_VideoDecoder_FreeOutputData
](
_video_decoder.md#oh_videodecoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给解码器。 |
zh-cn/application-dev/reference/native-apis/native__avcodec__videoencoder_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_avcodec_videoencoder.h
## 概述
声明用于视频编码的Native API。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
VideoEncoder
](
_video_encoder.md
)
## 汇总
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoEncodeBitrateMode
](
_video_encoder.md#oh_videoencodebitratemode
)
| typedef enum
[
OH_VideoEncodeBitrateMode
](
_video_encoder.md#oh_videoencodebitratemode
)
<br/>
视频编码的比特率模式。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoEncodeBitrateMode
](
_video_encoder.md#oh_videoencodebitratemode
)
{
**CBR**
= 0,
**VBR**
= 1,
**CQ**
= 2 } | 视频编码的比特率模式。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_VideoEncoder_CreateByMime
](
_video_encoder.md#oh_videoencoder_createbymime
)
(
const
char
\*
mime) | OH_AVCodec
\*
<br/>
通过mime类型创建一个视频编码器实例,大多数情况下推荐使用该接口。 |
|
[
OH_VideoEncoder_CreateByName
](
_video_encoder.md#oh_videoencoder_createbyname
)
(
const
char
\*
name) | OH_AVCodec
\*
<br/>
通过视频编码器名称创建一个视频编码器实例,使用这个接口的前提是必须清楚编码器准确的名称。 |
|
[
OH_VideoEncoder_Destroy
](
_video_encoder.md#oh_videoencoder_destroy
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部资源,并销毁编码器实例。 |
|
[
OH_VideoEncoder_SetCallback
](
_video_encoder.md#oh_videoencoder_setcallback
)
(
OH_AVCodec
\*
codec,
[
OH_AVCodecAsyncCallback
](
_o_h___a_v_codec_async_callback.md
)
callback, void
\*
userData) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
设置异步回调函数,使得你的应用能够响应视频编码器产生的事件,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoEncoder_Configure
](
_video_encoder.md#oh_videoencoder_configure
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
配置视频编码器,典型地,需要配置被编码视频轨道的描述信息,该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoEncoder_Prepare
](
_video_encoder.md#oh_videoencoder_prepare
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
准备编码器内部资源,调用该接口前必须先调用Configure接口。 |
|
[
OH_VideoEncoder_Start
](
_video_encoder.md#oh_videoencoder_start
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
启动编码器,该接口必须在已经Prepare成功后调用。 在启动成功后,编码器将开始报告
[
OH_AVCodecOnNeedInputData
](
_codec_base.md#oh_avcodeconneedinputdata
)
事件。 |
|
[
OH_VideoEncoder_Stop
](
_video_encoder.md#oh_videoencoder_stop
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
停止编码器。在停止后可通过Start重新进入Started状态。 |
|
[
OH_VideoEncoder_Flush
](
_video_encoder.md#oh_videoencoder_flush
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
清空编码器内部缓存的输入输出数据。在该接口被调用后,所有先前通过异步回调报告的Buffer的索引都将 失效,确保不要再访问这些索引对应的Buffers。 |
|
[
OH_VideoEncoder_Reset
](
_video_encoder.md#oh_videoencoder_reset
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
重置编码器。如需继续编码工作,需要重新调用Configure接口以配置该编码器实例。 |
|
[
OH_VideoEncoder_GetOutputDescription
](
_video_encoder.md#oh_videoencoder_getoutputdescription
)
(
OH_AVCodec
\*
codec) | OH_AVFormat
\*
<br/>
获取该编码器输出数据的描述信息,需要注意的是,返回值所指向的OH_AVFormat实例的生命周期 将会再下一次调用该接口时或者该OH_AVCodec实例被销毁时失效。 |
|
[
OH_VideoEncoder_SetParameter
](
_video_encoder.md#oh_videoencoder_setparameter
)
(
OH_AVCodec
\*
codec, OH_AVFormat
\*
format) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
向编码器设置动态参数,注意:该接口仅能在编码器被启动后调用,同时错误的参数设置,可能会导致编码失败。 |
|
[
OH_VideoEncoder_GetSurface
](
_video_encoder.md#oh_videoencoder_getsurface
)
(
OH_AVCodec
\*
codec, OHNativeWindow
\*\*
window) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
从视频编码器获取输入Surface, 该接口被调用必须是在Prepare被调用前。 |
|
[
OH_VideoEncoder_FreeOutputData
](
_video_encoder.md#oh_videoencoder_freeoutputdata
)
(
OH_AVCodec
\*
codec, uint32_t index) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
将处理结束的输出Buffer交还给编码器。 |
|
[
OH_VideoEncoder_NotifyEndOfStream
](
_video_encoder.md#oh_videoencoder_notifyendofstream
)
(
OH_AVCodec
\*
codec) |
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
通知视频编码器输入码流已结束。surface模式推荐使用该接口通知编码器码流结束。 |
zh-cn/application-dev/reference/native-apis/native__averrors_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_averrors.h
## 概述
声明了媒体播放框架的错误码。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Core
](
_core.md
)
## 汇总
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
| typedef enum
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
<br/>
音视频错误码。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVErrCode
](
_core.md#oh_averrcode
)
{
<br/>
**AV_ERR_OK**
= 0,
**AV_ERR_NO_MEMORY**
= 1,
**AV_ERR_OPERATE_NOT_PERMIT**
= 2,
**AV_ERR_INVALID_VAL**
= 3,
**AV_ERR_IO**
= 4,
**AV_ERR_TIMEOUT**
= 5,
**AV_ERR_UNKNOWN**
= 6,
**AV_ERR_SERVICE_DIED**
= 7,
**AV_ERR_INVALID_STATE**
= 8,
**AV_ERR_UNSUPPORT**
= 9,
**AV_ERR_EXTEND_START**
= 100
<br/>
} | 音视频错误码。 |
zh-cn/application-dev/reference/native-apis/native__avformat_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_avformat.h
## 概述
声明了格式相关的函数和枚举。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Core
](
_core.md
)
## 汇总
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
**OH_AVFormat**
| typedef struct OH_AVFormat |
|
[
OH_AVPixelFormat
](
_core.md#oh_avpixelformat
)
| typedef enum
[
OH_AVPixelFormat
](
_core.md#oh_avpixelformat
)
<br/>
AVPixel 格式的枚举。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVPixelFormat
](
_core.md#oh_avpixelformat
)
{
<br/>
**AV_PIXEL_FORMAT_YUVI420**
= 1,
**AV_PIXEL_FORMAT_NV12**
= 2,
**AV_PIXEL_FORMAT_NV21**
= 3,
**AV_PIXEL_FORMAT_SURFACE_FORMAT**
= 4,
**AV_PIXEL_FORMAT_RGBA**
= 5
<br/>
} | AVPixel 格式的枚举。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVFormat_Create
](
_core.md#oh_avformat_create
)
(
void
)
| struct OH_AVFormat
\*
<br/>
创建一个OH_AVFormat句柄指针,用以读写数据。 |
|
[
OH_AVFormat_Destroy
](
_core.md#oh_avformat_destroy
)
(
struct
OH_AVFormat
\*
format) | void
<br/>
销毁指定OH_AVFormat句柄资源。 |
|
[
OH_AVFormat_Copy
](
_core.md#oh_avformat_copy
)
(
struct
OH_AVFormat
\*
to, struct OH_AVFormat
\*
from) | bool
<br/>
拷贝OH_AVFormat句柄资源. |
|
[
OH_AVFormat_SetIntValue
](
_core.md#oh_avformat_setintvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int32_t value) | bool
<br/>
向OH_AVFormat写入Int数据. |
|
[
OH_AVFormat_SetLongValue
](
_core.md#oh_avformat_setlongvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int64_t value) | bool
<br/>
向OH_AVFormat写入Long数据。 |
|
[
OH_AVFormat_SetFloatValue
](
_core.md#oh_avformat_setfloatvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, float value) | bool
<br/>
向OH_AVFormat写入Float数据。 |
|
[
OH_AVFormat_SetDoubleValue
](
_core.md#oh_avformat_setdoublevalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, double value) | bool
<br/>
向OH_AVFormat写入Double数据。 |
|
[
OH_AVFormat_SetStringValue
](
_core.md#oh_avformat_setstringvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, const char
\*
value) | bool
<br/>
向OH_AVFormat写入String数据。 |
|
[
OH_AVFormat_SetBuffer
](
_core.md#oh_avformat_setbuffer
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, const uint8_t
\*
addr, size_t size) | bool
<br/>
向OH_AVFormat写入一块指定长度的数据。 |
|
[
OH_AVFormat_GetIntValue
](
_core.md#oh_avformat_getintvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int32_t
\*
out) | bool
<br/>
从OH_AVFormat读取Int数据。 |
|
[
OH_AVFormat_GetLongValue
](
_core.md#oh_avformat_getlongvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, int64_t
\*
out) | bool
<br/>
从OH_AVFormat读取Long数据。 |
|
[
OH_AVFormat_GetFloatValue
](
_core.md#oh_avformat_getfloatvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, float
\*
out) | bool
<br/>
从OH_AVFormat读取Float数据。 |
|
[
OH_AVFormat_GetDoubleValue
](
_core.md#oh_avformat_getdoublevalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, double
\*
out) | bool
<br/>
从OH_AVFormat读取Double数据。 |
|
[
OH_AVFormat_GetStringValue
](
_core.md#oh_avformat_getstringvalue
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, const char
\*\*
out) | bool
<br/>
从OH_AVFormat读取Double数据。 |
|
[
OH_AVFormat_GetBuffer
](
_core.md#oh_avformat_getbuffer
)
(
struct
OH_AVFormat
\*
format, const char
\*
key, uint8_t
\*\*
addr, size_t
\*
size) | bool
<br/>
从OH_AVFormat读取一块指定长度的数据。 |
|
[
OH_AVFormat_DumpInfo
](
_core.md#oh_avformat_dumpinfo
)
(
struct
OH_AVFormat
\*
format) | const char
\*
<br/>
以字符串的形式输出OH_AVFormat所包含的信息。 |
zh-cn/application-dev/reference/native-apis/native__avmemory_8h.md
0 → 100644
浏览文件 @
f768bd79
# native_avmemory.h
## 概述
声明了AVMemory的函数接口。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Core
](
_core.md
)
## 汇总
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
**OH_AVMemory**
| typedef struct OH_AVMemory |
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVMemory_GetAddr
](
_core.md#oh_avmemory_getaddr
)
(
struct
OH_AVMemory
\*
mem) | uint8_t
\*
<br/>
获取入参的内存虚拟地址。 |
|
[
OH_AVMemory_GetSize
](
_core.md#oh_avmemory_getsize
)
(
struct
OH_AVMemory
\*
mem) | int32_t
<br/>
获取入参的内存长度。 |
zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVSessionBasicInfo
## 概述
会话基础信息描述。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
deviceName_
](
avsession.md#devicename
)
{} | std::string |
|
[
networkId_
](
avsession.md#networkid
)
{} | std::string |
|
[
vendorId_
](
avsession.md#vendorid
)
{} | std::string |
|
[
deviceType_
](
avsession.md#devicetype
)
{} | std::string |
|
[
systemVersion_
](
avsession.md#systemversion
)
{} | std::string |
|
[
sessionVersion_
](
avsession.md#sessionversion
)
{} | int32_t |
|
[
reserve_
](
avsession.md#reserve
)
{} | std::vector
<
int32_t
>
|
|
[
feature_
](
avsession.md#feature
)
{} | std::vector
<
int32_t
>
|
|
[
metaDataCap_
](
avsession.md#metadatacap
)
{} | std::vector
<
int32_t
>
|
|
[
playBackStateCap_
](
avsession.md#playbackstatecap
)
{} | std::vector
<
int32_t
>
|
|
[
controlCommandCap_
](
avsession.md#controlcommandcap
)
{} | std::vector
<
int32_t
>
|
|
[
extendCapability_
](
avsession.md#extendcapability
)
{} | std::vector
<
int32_t
>
|
|
[
systemTime_
](
avsession.md#systemtime
)
{} | int32_t |
|
[
extend_
](
avsession.md#extend
)
{} | std::vector
<
int32_t
>
|
zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVSessionController
## 概述
控制器对象,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。
## 汇总
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
GetAVPlaybackState
](
#getavplaybackstate
)
([AVPlaybackState](_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md)
&
state)=0 | 获取音视频的播放状态。
|
|
[
GetAVMetaData
](
#getavmetadata
)
([AVMetaData](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md)
&
data)=0 | 获取会话元数据。
|
|
[
SendAVKeyEvent
](
#sendavkeyevent
)
(const
MMI::KeyEvent
&
keyEvent)=0 | 发送系统按键事件。
|
|
[
GetLaunchAbility
](
#getlaunchability
)
(AbilityRuntime::WantAgent::WantAgent
&
ability)=0 | 获取Ability。
|
|
[
GetValidCommands
](
#getvalidcommands
)
(std::vector
<
int32_t
> &
cmds)=0 | 获取媒体有效的指令。
|
|
[
IsSessionActive
](
#issessionactive
)
(bool
&
isActive)=0 | 获取session的激活状态。
|
|
[
SendControlCommand
](
#sendcontrolcommand
)
(const
[AVControlCommand](_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md)
&
cmd)=0 | 发送媒体控制指令。
|
|
[
RegisterCallback
](
#registercallback
)
(const
std::shared_ptr
<
[AVControllerCallback](_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md)
> &
callback)=0 | 注册回调。
|
|
[
SetMetaFilter
](
#setmetafilter
)
(const
[AVMetaData::MetaMaskType](_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md#metamasktype)
&
filter)=0 | 设置会话元数据过滤。
|
|
[
SetPlaybackFilter
](
#setplaybackfilter
)
(const
AVPlaybackState::PlaybackStateMaskType
&
filter)=0 | 设置音视频的播放状态回调过滤。
|
|
[
Destroy
](
#destroy
)
()=0 | 释放控制器。
|
|
[
GetSessionId
](
#getsessionid
)
()=0 | 获取sessionId。
|
|
[
GetRealPlaybackPosition
](
#getrealplaybackposition
)
()=0 | 获取播放的实时位置,第
x
ms。
|
|
[
IsDestroy
](
#isdestroy
)
()=0 | 是否释放控制器。
|
## 成员函数说明
### Destroy()
```
virtual int32_t OHOS::AVSession::AVSessionController::Destroy ()
```
**描述:**
释放控制器。
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### GetAVMetaData()
```
virtual int32_t OHOS::AVSession::AVSessionController::GetAVMetaData (AVMetaData & data)
```
**描述:**
获取会话元数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| data | 会话元数据
[
AVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
AVSession::SetAVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#setavmetadata
)
[
AVSession::GetAVMetaData
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#getavmetadata
)
### GetAVPlaybackState()
```
virtual int32_t OHOS::AVSession::AVSessionController::GetAVPlaybackState (AVPlaybackState & state)
```
**描述:**
获取音视频的播放状态。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| state | 音视频的播放状态
[
AVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
AVSession::SetAVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#setavplaybackstate
)
[
AVSession::GetAVPlaybackState
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#getavplaybackstate
)
### GetLaunchAbility()
```
virtual int32_t OHOS::AVSession::AVSessionController::GetLaunchAbility (AbilityRuntime::WantAgent::WantAgent & ability)
```
**描述:**
获取Ability。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| ability | 类型为
**AbilityRuntime::WantAgent::WantAgent**
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
AVSession::SetLaunchAbility
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#setlaunchability
)
### GetRealPlaybackPosition()
```
virtual int64_t OHOS::AVSession::AVSessionController::GetRealPlaybackPosition ()
```
**描述:**
获取播放的实时位置,第 x ms。
**返回:**
返回播放的实时位置,第x ms,经过校正过的时间,单位为ms。
### GetSessionId()
```
virtual std::string OHOS::AVSession::AVSessionController::GetSessionId ()
```
**描述:**
获取sessionId。
**返回:**
返回sessionId。
### GetValidCommands()
```
virtual int32_t OHOS::AVSession::AVSessionController::GetValidCommands (std::vector< int32_t > & cmds)
```
**描述:**
获取媒体有效的指令。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cmds | 媒体有效的指令列表,范围为
**SESSION_CMD_INVALID**
到
**SESSION_CMD_MAX**
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
SendControlCommand
](
#sendcontrolcommand
)
[
AVSession::AddSupportCommand
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#addsupportcommand
)
[
AVSession::DeleteSupportCommand
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#deletesupportcommand
)
### IsDestroy()
```
virtual bool OHOS::AVSession::AVSessionController::IsDestroy ()
```
**描述:**
是否释放控制器。
**返回:**
true:释放;false:不释放。
### IsSessionActive()
```
virtual int32_t OHOS::AVSession::AVSessionController::IsSessionActive (bool & isActive)
```
**描述:**
获取session的激活状态。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| isActive | session是否激活。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
AVSession::Activate
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#activate
)
[
AVSession::Deactivate
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#deactivate
)
[
AVSession::IsActive
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md#isactive
)
### RegisterCallback()
```
virtual int32_t OHOS::AVSession::AVSessionController::RegisterCallback (const std::shared_ptr< AVControllerCallback > & callback)
```
**描述:**
注册回调。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| callback | 需要注册的回调,类型为
[
AVControllerCallback
](
_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md
)
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### SendAVKeyEvent()
```
virtual int32_t OHOS::AVSession::AVSessionController::SendAVKeyEvent (const MMI::KeyEvent & keyEvent)
```
**描述:**
发送系统按键事件。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyEvent | 按键事件码,类型为
**MMI::KeyEvent**
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
AVSessionManager::SendSystemAVKeyEvent
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md#sendsystemavkeyevent
)
### SendControlCommand()
```
virtual int32_t OHOS::AVSession::AVSessionController::SendControlCommand (const AVControlCommand & cmd)
```
**描述:**
发送媒体控制指令。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| cmd | 媒体控制指令,类型为
[
AVControlCommand
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
)
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
**参见:**
[
GetValidCommands
](
#getvalidcommands
)
### SetMetaFilter()
```
virtual int32_t OHOS::AVSession::AVSessionController::SetMetaFilter (const AVMetaData::MetaMaskType & filter)
```
**描述:**
设置会话元数据过滤。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| filter | 会话元数据过滤,类型为
[
AVMetaData#MetaMaskType
](
_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md#metamasktype
)
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
### SetPlaybackFilter()
```
virtual int32_t OHOS::AVSession::AVSessionController::SetPlaybackFilter (const AVPlaybackState::PlaybackStateMaskType & filter)
```
**描述:**
设置音视频的播放状态回调过滤。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| filter | 音视频播放状态回调过滤,类型为
**AVPlaybackState\#PlaybackStateMaskType**
。
|
**返回:**
成功返回
**AVSESSION_SUCCESS**
;失败则返回对应错误码。
zh-cn/application-dev/reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
0 → 100644
浏览文件 @
f768bd79
# OHOS::AVSession::AVSessionDescriptor
## 概述
会话的相关描述信息。
**Since:**
9
**Version:**
1.
0
**相关模块:**
[
Avsession
](
avsession.md
)
## 汇总
### Public 成员函数
| 名称 | 描述 |
| -------- | -------- |
|
[
WriteToParcel
](
avsession.md#writetoparcel
)
(Parcel
&
out)
const | 将会话相关描述信息写进包里。
|
|
[
ReadFromParcel
](
avsession.md#readfromparcel
)
(Parcel
&
in) | 对会话相关描述信息进行解包。
|
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
sessionId_
](
avsession.md#sessionid
)
| std::string |
|
[
sessionType_
](
avsession.md#sessiontype
)
{} | int32_t |
|
[
sessionTag_
](
avsession.md#sessiontag
)
| std::string |
|
[
elementName_
](
avsession.md#elementname
)
| AppExecFwk::ElementName |
|
[
pid_
](
avsession.md#pid
)
{} | pid_t |
|
[
uid_
](
avsession.md#uid
)
{} | pid_t |
|
[
isActive_
](
avsession.md#isactive
)
{} | bool |
|
[
isTopSession_
](
avsession.md#istopsession
)
{} | bool |
|
[
isThirdPartyApp_
](
avsession.md#isthirdpartyapp
)
{} | bool |
|
[
outputDeviceInfo_
](
avsession.md#outputdeviceinfo
)
|
[
OutputDeviceInfo
](
_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
)
|
zh-cn/application-dev/website.md
浏览文件 @
f768bd79
...
@@ -588,7 +588,6 @@
...
@@ -588,7 +588,6 @@
-
[
Counter
](
reference/arkui-ts/ts-container-counter.md
)
-
[
Counter
](
reference/arkui-ts/ts-container-counter.md
)
-
[
Flex
](
reference/arkui-ts/ts-container-flex.md
)
-
[
Flex
](
reference/arkui-ts/ts-container-flex.md
)
-
[
FlowItem
](
reference/arkui-ts/ts-container-flowitem.md
)
-
[
FlowItem
](
reference/arkui-ts/ts-container-flowitem.md
)
-
[
GridContainer
](
reference/arkui-ts/ts-container-gridcontainer.md
)
-
[
GridCol
](
reference/arkui-ts/ts-container-gridcol.md
)
-
[
GridCol
](
reference/arkui-ts/ts-container-gridcol.md
)
-
[
GridRow
](
reference/arkui-ts/ts-container-gridrow.md
)
-
[
GridRow
](
reference/arkui-ts/ts-container-gridrow.md
)
-
[
Grid
](
reference/arkui-ts/ts-container-grid.md
)
-
[
Grid
](
reference/arkui-ts/ts-container-grid.md
)
...
@@ -651,7 +650,7 @@
...
@@ -651,7 +650,7 @@
-
[
枚举说明
](
reference/arkui-ts/ts-appendix-enums.md
)
-
[
枚举说明
](
reference/arkui-ts/ts-appendix-enums.md
)
-
[
类型说明
](
reference/arkui-ts/ts-types.md
)
-
[
类型说明
](
reference/arkui-ts/ts-types.md
)
-
已停止维护的组件
-
已停止维护的组件
-
[
GridContainer
(栅格)
](
reference/arkui-ts/ts-container-gridcontainer.md
)
-
[
GridContainer
](
reference/arkui-ts/ts-container-gridcontainer.md
)
-
组件参考(兼容JS的类Web开发范式)
-
组件参考(兼容JS的类Web开发范式)
-
组件通用信息
-
组件通用信息
-
[
通用属性
](
reference/arkui-js/js-components-common-attributes.md
)
-
[
通用属性
](
reference/arkui-js/js-components-common-attributes.md
)
...
@@ -1155,7 +1154,6 @@
...
@@ -1155,7 +1154,6 @@
-
[
@ohos.reminderAgent (后台代理提醒)
](
reference/apis/js-apis-reminderAgent.md
)
-
[
@ohos.reminderAgent (后台代理提醒)
](
reference/apis/js-apis-reminderAgent.md
)
-
[
@ohos.systemParameter (系统属性)
](
reference/apis/js-apis-system-parameter.md
)
-
[
@ohos.systemParameter (系统属性)
](
reference/apis/js-apis-system-parameter.md
)
-
[
@ohos.usb (USB管理)
](
reference/apis/js-apis-usb-deprecated.md
)
-
[
@ohos.usb (USB管理)
](
reference/apis/js-apis-usb-deprecated.md
)
-
[
@ohos.workScheduler (延迟任务调度)
](
reference/apis/js-apis-workScheduler.md
)
-
[
@system.app (应用上下文)
](
reference/apis/js-apis-system-app.md
)
-
[
@system.app (应用上下文)
](
reference/apis/js-apis-system-app.md
)
-
[
@system.battery (电量信息)
](
reference/apis/js-apis-system-battery.md
)
-
[
@system.battery (电量信息)
](
reference/apis/js-apis-system-battery.md
)
-
[
@system.bluetooth (蓝牙)
](
reference/apis/js-apis-system-bluetooth.md
)
-
[
@system.bluetooth (蓝牙)
](
reference/apis/js-apis-system-bluetooth.md
)
...
@@ -1285,6 +1283,13 @@
...
@@ -1285,6 +1283,13 @@
-
[
Rawfile
](
reference/native-apis/rawfile.md
)
-
[
Rawfile
](
reference/native-apis/rawfile.md
)
-
[
MindSpore
](
reference/native-apis/_mind_spore.md
)
-
[
MindSpore
](
reference/native-apis/_mind_spore.md
)
-
[
NeuralNeworkRuntime
](
reference/native-apis/_neural_nework_runtime.md
)
-
[
NeuralNeworkRuntime
](
reference/native-apis/_neural_nework_runtime.md
)
-
[
Avsession
](
reference/native-apis/avsession.md
)
-
[
AudioDecoder
](
reference/native-apis/_audio_decoder.md
)
-
[
AudioEncoder
](
reference/native-apis/_audio_encoder.md
)
-
[
CodecBase
](
reference/native-apis/_codec_base.md
)
-
[
VideoDecoder
](
reference/native-apis/_video_decoder.md
)
-
[
VideoEncoder
](
reference/native-apis/_video_encoder.md
)
-
[
Core
](
reference/native-apis/_core.md
)
-
头文件
-
头文件
-
[
drawing_bitmap.h
](
reference/native-apis/drawing__bitmap_8h.md
)
-
[
drawing_bitmap.h
](
reference/native-apis/drawing__bitmap_8h.md
)
-
[
drawing_brush.h
](
reference/native-apis/drawing__brush_8h.md
)
-
[
drawing_brush.h
](
reference/native-apis/drawing__brush_8h.md
)
...
@@ -1315,6 +1320,24 @@
...
@@ -1315,6 +1320,24 @@
-
[
types.h
](
reference/native-apis/types_8h.md
)
-
[
types.h
](
reference/native-apis/types_8h.md
)
-
[
neural_network_runtime_type.h
](
reference/native-apis/neural__network__runtime__type_8h.md
)
-
[
neural_network_runtime_type.h
](
reference/native-apis/neural__network__runtime__type_8h.md
)
-
[
neural_network_runtime.h
](
reference/native-apis/neural__network__runtime_8h.md
)
-
[
neural_network_runtime.h
](
reference/native-apis/neural__network__runtime_8h.md
)
-
[
av_session.h
](
reference/native-apis/av__session_8h.md
)
-
[
avcontrol_command.h
](
reference/native-apis/avcontrol__command_8h.md
)
-
[
avmeta_data.h
](
reference/native-apis/avmeta__data_8h.md
)
-
[
avplayback_state.h
](
reference/native-apis/avplayback__state_8h.md
)
-
[
avsession_controller.h
](
reference/native-apis/avsession__controller_8h.md
)
-
[
avsession_descriptor.h
](
reference/native-apis/avsession__descriptor_8h.md
)
-
[
avsession_errors.h
](
reference/native-apis/avsession__errors_8h.md
)
-
[
avsession_info.h
](
reference/native-apis/avsession__info_8h.md
)
-
[
avsession_manager.h
](
reference/native-apis/avsession__manager_8h.md
)
-
[
avsession_pixel_map.h
](
reference/native-apis/avsession__pixel__map_8h.md
)
-
[
native_avcodec_audiodecoder.h
](
reference/native-apis/native__avcodec__audiodecoder_8h.md
)
-
[
native_avcodec_audioencoder.h
](
reference/native-apis/native__avcodec__audioencoder_8h.md
)
-
[
native_avcodec_base.h
](
reference/native-apis/native__avcodec__base_8h.md
)
-
[
native_avcodec_videodecoder.h
](
reference/native-apis/native__avcodec__videodecoder_8h.md
)
-
[
native_avcodec_videoencoder.h
](
reference/native-apis/native__avcodec__videoencoder_8h.md
)
-
[
native_averrors.h
](
reference/native-apis/native__averrors_8h.md
)
-
[
native_avformat.h
](
reference/native-apis/native__avformat_8h.md
)
-
[
native_avmemory.h
](
reference/native-apis/native__avmemory_8h.md
)
-
结构体
-
结构体
-
[
OH_Drawing_BitmapFormat
](
reference/native-apis/_o_h___drawing___bitmap_format.md
)
-
[
OH_Drawing_BitmapFormat
](
reference/native-apis/_o_h___drawing___bitmap_format.md
)
-
[
OH_NativeBuffer_Config
](
reference/native-apis/_o_h___native_buffer___config.md
)
-
[
OH_NativeBuffer_Config
](
reference/native-apis/_o_h___native_buffer___config.md
)
...
@@ -1336,6 +1359,23 @@
...
@@ -1336,6 +1359,23 @@
-
[
OH_NN_QuantParam
](
reference/native-apis/_o_h___n_n___quant_param.md
)
-
[
OH_NN_QuantParam
](
reference/native-apis/_o_h___n_n___quant_param.md
)
-
[
OH_NN_Tensor
](
reference/native-apis/_o_h___n_n___tensor.md
)
-
[
OH_NN_Tensor
](
reference/native-apis/_o_h___n_n___tensor.md
)
-
[
OH_NN_UInt32Array
](
reference/native-apis/_o_h___n_n___u_int32_array.md
)
-
[
OH_NN_UInt32Array
](
reference/native-apis/_o_h___n_n___u_int32_array.md
)
-
[
OH_AVCodecAsyncCallback
](
reference/native-apis/_o_h___a_v_codec_async_callback.md
)
-
[
OH_AVCodecBufferAttr
](
reference/native-apis/_o_h___a_v_codec_buffer_attr.md
)
-
[
OHOS::AVSession::AVControlCommand
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_control_command.md
)
-
[
OHOS::AVSession::AVControllerCallback
](
reference/native-apis/_h_o_s_1_1_a_v_session_1_1_a_v_controller_callback.md
)
-
[
OHOS::AVSession::AVMetaData
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_meta_data.md
)
-
[
OHOS::AVSession::AVPlaybackState
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_playback_state.md
)
-
[
OHOS::AVSession::AVPlaybackState::Position
](
reference/native-apis/_1_a_v_session_1_1_a_v_playback_state_1_1_position.md
)
-
[
OHOS::AVSession::AVSession
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session.md
)
-
[
OHOS::AVSession::AVSessionBasicInfo
](
reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md
)
-
[
OHOS::AVSession::AVSessionCallback
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_callback.md
)
-
[
OHOS::AVSession::AVSessionController
](
reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_controller.md
)
-
[
OHOS::AVSession::AVSessionDescriptor
](
reference/native-apis/o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md
)
-
[
OHOS::AVSession::AVSessionManager
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_manager.md
)
-
[
OHOS::AVSession::AVSessionPixelMap
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md
)
-
[
OHOS::AVSession::OutputDeviceInfo
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md
)
-
[
OHOS::AVSession::SessionListener
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_listener.md
)
-
[
OHOS::AVSession::SessionToken
](
reference/native-apis/_o_h_o_s_1_1_a_v_session_1_1_session_token.md
)
-
标准库
-
标准库
-
[
Node_API
](
reference/native-lib/third_party_napi/napi.md
)
-
[
Node_API
](
reference/native-lib/third_party_napi/napi.md
)
-
[
libuv
](
reference/native-lib/third_party_libuv/libuv.md
)
-
[
libuv
](
reference/native-lib/third_party_libuv/libuv.md
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录