1# OHAVSession
2
3
4## 概述
5
6提供播控模块C接口定义。
7
8**系统能力:** SystemCapability.Multimedia.AVSession.Core
9
10**起始版本:** 13
11
12
13## 汇总
14
15
16### 文件
17
18| 名称 | 描述 | 
19| -------- | -------- |
20| [native_avmetadata.h](native__avmetadata_8h.md) | 提供播控元数据的定义。 | 
21| [native_avsession.h](native__avsession_8h.md) | 媒体会话定义,可用于设置元数据、播放状态信息等操作。 | 
22| [native_avsession_errors.h](native__avsession__errors_8h.md) | 提供播控错误码的定义。 | 
23
24
25### 结构体
26
27| 名称 | 描述 | 
28| -------- | -------- |
29| struct  [AVSession_PlaybackPosition](_a_v_session___playback_position.md) | 媒体播放位置的相关属性。 | 
30
31
32### 类型定义
33
34| 名称 | 描述 | 
35| -------- | -------- |
36| typedef struct OH_AVMetadataBuilderStruct [OH_AVMetadataBuilder](#oh_avmetadatabuilder) | 会话元数据构造器。 构造器用于构造会话元数据。 | 
37| typedef struct OH_AVMetadataStruct [OH_AVMetadata](#oh_avmetadata) | 会话元数据。 资源设置的avmetadata的实例。 | 
38| typedef struct [AVSession_PlaybackPosition](_a_v_session___playback_position.md) [AVSession_PlaybackPosition](#avsession_playbackposition) | 媒体播放位置的相关属性。 | 
39| typedef enum [AVSession_ControlCommand](#avsession_controlcommand) [AVSession_ControlCommand](#avsession_controlcommand) | 播控命令。 | 
40| typedef [AVSessionCallback_Result](#avsessioncallback_result)(\* [OH_AVSessionCallback_OnCommand](#oh_avsessioncallback_oncommand)) ([OH_AVSession](#oh_avsession) \*session, [AVSession_ControlCommand](#avsession_controlcommand) command, void \*userData) | 通用的执行播控命令的回调。 | 
41| typedef [AVSessionCallback_Result](#avsessioncallback_result)(\* [OH_AVSessionCallback_OnFastForward](#oh_avsessioncallback_onfastforward)) ([OH_AVSession](#oh_avsession) \*session, uint32_t seekTime, void \*userData) | 快进的回调。 | 
42| typedef [AVSessionCallback_Result](#avsessioncallback_result)(\* [OH_AVSessionCallback_OnRewind](#oh_avsessioncallback_onrewind)) ([OH_AVSession](#oh_avsession) \*session, uint32_t seekTime, void \*userData) | 快退的回调。 | 
43| typedef [AVSessionCallback_Result](#avsessioncallback_result)(\* [OH_AVSessionCallback_OnSeek](#oh_avsessioncallback_onseek)) ([OH_AVSession](#oh_avsession) \*session, uint64_t seekTime, void \*userData) | 进度调节的回调。 | 
44| typedef [AVSessionCallback_Result](#avsessioncallback_result)(\* [OH_AVSessionCallback_OnSetLoopMode](#oh_avsessioncallback_onsetloopmode)) ([OH_AVSession](#oh_avsession) \*session, [AVSession_LoopMode](#avsession_loopmode) curLoopMode, void \*userData) | 设置循环模式的回调。 | 
45| typedef [AVSessionCallback_Result](#avsessioncallback_result)(\* [OH_AVSessionCallback_OnToggleFavorite](#oh_avsessioncallback_ontogglefavorite)) ([OH_AVSession](#oh_avsession) \*session, const char \*assetId, void \*userData) | 收藏的回调。 | 
46| typedef struct [OH_AVSession](#oh_avsession) [OH_AVSession](#oh_avsession) | 播控会话对象定义。 | 
47
48
49### 枚举
50
51| 名称 | 描述 | 
52| -------- | -------- |
53| [AVMetadata_Result](#avmetadata_result) {<br/>AVMETADATA_SUCCESS = 0,<br/>AVMETADATA_ERROR_INVALID_PARAM = 1,<br/>AVMETADATA_ERROR_NO_MEMORY = 2 } | 元数据操作的错误码。 | 
54| [AVMetadata_SkipIntervals](#avmetadata_skipintervals) {<br/>SECONDS_10 = 10,<br/>SECONDS_15 = 15,<br/>SECONDS_30 = 30 } | 表示session支持的快进快退时间间隔。 | 
55| [AVMetadata_DisplayTag](#avmetadata_displaytag) { AVSESSION_DISPLAYTAG_AUDIO_VIVID = 1 } | 应用媒体音源的特殊类型标识。 | 
56| [AVSession_Type](#avsession_type) {<br/>SESSION_TYPE_AUDIO = 0,<br/>SESSION_TYPE_VIDEO = 1,<br/>SESSION_TYPE_VOICE_CALL = 2,<br/>SESSION_TYPE_VIDEO_CALL = 3 } | 会话类型。 | 
57| [AVSession_PlaybackState](#avsession_playbackstate) {<br/>PLAYBACK_STATE_INITIAL = 0,<br/>PLAYBACK_STATE_PREPARING = 1,<br/>PLAYBACK_STATE_PLAYING = 2,<br/>PLAYBACK_STATE_PAUSED = 3,<br/>PLAYBACK_STATE_FAST_FORWARDING = 4,<br/>PLAYBACK_STATE_REWINDED = 5,<br/>PLAYBACK_STATE_STOPPED = 6,<br/>PLAYBACK_STATE_COMPLETED = 7,<br/>PLAYBACK_STATE_RELEASED = 8,<br/>PLAYBACK_STATE_ERROR = 9,<br/>PLAYBACK_STATE_IDLE = 10,<br/>PLAYBACK_STATE_BUFFERING = 11,<br/>PLAYBACK_STATE_MAX = 12<br/>} | 媒体播放状态的相关属性。 | 
58| [AVSession_LoopMode](#avsession_loopmode) {<br/>LOOP_MODE_SEQUENCE = 0,<br/>LOOP_MODE_SINGLE = 1,<br/>LOOP_MODE_LIST = 2,<br/>LOOP_MODE_SHUFFLE = 3,<br/>LOOP_MODE_CUSTOM = 4<br/>} | 媒体播放循环模式。 | 
59| [AVSession_ControlCommand](#avsession_controlcommand) {<br/>CONTROL_CMD_INVALID = -1,<br/>CONTROL_CMD_PLAY = 0,<br/>CONTROL_CMD_PAUSE = 1,<br/>CONTROL_CMD_STOP = 2,<br/>CONTROL_CMD_PLAY_NEXT = 3,<br/>CONTROL_CMD_PLAY_PREVIOUS = 4<br/>} | 播控命令。 | 
60| [AVSessionCallback_Result](#avsessioncallback_result) {<br/>AVSESSION_CALLBACK_RESULT_SUCCESS = 0,<br/>AVSESSION_CALLBACK_RESULT_FAILURE = -1 } | 回调执行的结果。 | 
61| [AVSession_ErrCode](#avsession_errcode) {<br/>AV_SESSION_ERR_SUCCESS = 0,<br/>AV_SESSION_ERR_INVALID_PARAMETER = 401,<br/>AV_SESSION_ERR_SERVICE_EXCEPTION = 6600101,<br/>AV_SESSION_ERR_CODE_SESSION_NOT_EXIST = 6600102,<br/>AV_SESSION_ERR_CODE_COMMAND_INVALID = 6600105,<br/>AV_SESSION_ERR_CODE_SESSION_INACTIVE = 6600106,<br/>AV_SESSION_ERR_CODE_MESSAGE_OVERLOAD = 6600107<br/>} | 播控错误码。 | 
62
63
64### 函数
65
66| 名称 | 描述 | 
67| -------- | -------- |
68| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_Create](#oh_avmetadatabuilder_create) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*\*builder) | 创建一个元数据构造器。 | 
69| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_Destroy](#oh_avmetadatabuilder_destroy) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder) | 销毁元数据构造器。 | 
70| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetAssetId](#oh_avmetadatabuilder_setassetid) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*assetId) | 设置当前媒体资源id。 | 
71| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetTitle](#oh_avmetadatabuilder_settitle) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*title) | 设置资源标题。 | 
72| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetArtist](#oh_avmetadatabuilder_setartist) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*artist) | 设置资源所属的艺术家。 | 
73| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetAuthor](#oh_avmetadatabuilder_setauthor) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*author) | 设置资源的作者。 | 
74| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetAlbum](#oh_avmetadatabuilder_setalbum) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*album) | 设置资源专辑名称。 | 
75| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetWriter](#oh_avmetadatabuilder_setwriter) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*writer) | 设置资源词作者。 | 
76| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetComposer](#oh_avmetadatabuilder_setcomposer) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*composer) | 设置资源作曲者。 | 
77| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetDuration](#oh_avmetadatabuilder_setduration) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, int64_t duration) | 设置资源播放时长。 | 
78| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetMediaImageUri](#oh_avmetadatabuilder_setmediaimageuri) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*mediaImageUri) | 设置媒体图片数据。 | 
79| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetSubtitle](#oh_avmetadatabuilder_setsubtitle) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*subtitle) | 设置副标题。 | 
80| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetDescription](#oh_avmetadatabuilder_setdescription) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*description) | 设置媒体描述信息。 | 
81| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetLyric](#oh_avmetadatabuilder_setlyric) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, const char \*lyric) | 设置歌词。 | 
82| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetSkipIntervals](#oh_avmetadatabuilder_setskipintervals) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, [AVMetadata_SkipIntervals](#avmetadata_skipintervals) intervals) | 设置资源的跳转的间隔时间。 | 
83| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_SetDisplayTags](#oh_avmetadatabuilder_setdisplaytags) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, int32_t tags) | 设置媒体资源的金标类型。 | 
84| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadataBuilder_GenerateAVMetadata](#oh_avmetadatabuilder_generateavmetadata) ([OH_AVMetadataBuilder](#oh_avmetadatabuilder) \*builder, [OH_AVMetadata](#oh_avmetadata) \*\*avMetadata) | 生成媒体元数据对象。 | 
85| [AVMetadata_Result](#avmetadata_result) [OH_AVMetadata_Destroy](#oh_avmetadata_destroy) ([OH_AVMetadata](#oh_avmetadata) \*avMetadata) | 释放媒体元数据对象。 | 
86| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_Create](#oh_avsession_create) ([AVSession_Type](#avsession_type) sessionType, const char \*sessionTag, const char \*bundleName, const char \*abilityName, [OH_AVSession](#oh_avsession) \*\*avsession) | 创建会话对象。 | 
87| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_Destroy](#oh_avsession_destroy) ([OH_AVSession](#oh_avsession) \*avsession) | 销毁会话对象。 | 
88| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_Activate](#oh_avsession_activate) ([OH_AVSession](#oh_avsession) \*avsession) | 激活会话。 | 
89| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_Deactivate](#oh_avsession_deactivate) ([OH_AVSession](#oh_avsession) \*avsession) | 取消激活媒体会话。 | 
90| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_GetSessionType](#oh_avsession_getsessiontype) ([OH_AVSession](#oh_avsession) \*avsession, [AVSession_Type](#avsession_type) \*sessionType) | 获取会话类型。 | 
91| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_GetSessionId](#oh_avsession_getsessionid) ([OH_AVSession](#oh_avsession) \*avsession, const char \*\*sessionId) | 获取会话id。 | 
92| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_SetAVMetadata](#oh_avsession_setavmetadata) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVMetadata](#oh_avmetadata) \*avmetadata) | 设置媒体元数据。 | 
93| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_SetPlaybackState](#oh_avsession_setplaybackstate) ([OH_AVSession](#oh_avsession) \*avsession, [AVSession_PlaybackState](#avsession_playbackstate) playbackState) | 设置播放状态。 | 
94| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_SetPlaybackPosition](#oh_avsession_setplaybackposition) ([OH_AVSession](#oh_avsession) \*avsession, [AVSession_PlaybackPosition](_a_v_session___playback_position.md) \*playbackPosition) | 设置播放位置。 | 
95| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_SetFavorite](#oh_avsession_setfavorite) ([OH_AVSession](#oh_avsession) \*avsession, bool favorite) | 设置收藏状态。 | 
96| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_SetLoopMode](#oh_avsession_setloopmode) ([OH_AVSession](#oh_avsession) \*avsession, [AVSession_LoopMode](#avsession_loopmode) loopMode) | 设置循环模式。 | 
97| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_RegisterCommandCallback](#oh_avsession_registercommandcallback) ([OH_AVSession](#oh_avsession) \*avsession, [AVSession_ControlCommand](#avsession_controlcommand) command, [OH_AVSessionCallback_OnCommand](#oh_avsessioncallback_oncommand) callback, void \*userData) | 注册通用播控的回调。 | 
98| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_UnregisterCommandCallback](#oh_avsession_unregistercommandcallback) ([OH_AVSession](#oh_avsession) \*avsession, [AVSession_ControlCommand](#avsession_controlcommand) command, [OH_AVSessionCallback_OnCommand](#oh_avsessioncallback_oncommand) callback) | 取消注册通用播控的回调。 | 
99| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_RegisterForwardCallback](#oh_avsession_registerforwardcallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnFastForward](#oh_avsessioncallback_onfastforward) callback, void \*userData) | 注册快进的回调。 | 
100| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_UnregisterForwardCallback](#oh_avsession_unregisterforwardcallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnFastForward](#oh_avsessioncallback_onfastforward) callback) | 取消注册快进的回调。 | 
101| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_RegisterRewindCallback](#oh_avsession_registerrewindcallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnRewind](#oh_avsessioncallback_onrewind) callback, void \*userData) | 注册快退的回调。 | 
102| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_UnregisterRewindCallback](#oh_avsession_unregisterrewindcallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnRewind](#oh_avsessioncallback_onrewind) callback) | 取消注册快退的回调。 | 
103| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_RegisterSeekCallback](#oh_avsession_registerseekcallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnSeek](#oh_avsessioncallback_onseek) callback, void \*userData) | 注册跳转的回调。 | 
104| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_UnregisterSeekCallback](#oh_avsession_unregisterseekcallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnSeek](#oh_avsessioncallback_onseek) callback) | 取消注册跳转的回调。 | 
105| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_RegisterSetLoopModeCallback](#oh_avsession_registersetloopmodecallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnSetLoopMode](#oh_avsessioncallback_onsetloopmode) callback, void \*userData) | 注册设置循环模式的回调。 | 
106| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_UnregisterSetLoopModeCallback](#oh_avsession_unregistersetloopmodecallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnSetLoopMode](#oh_avsessioncallback_onsetloopmode) callback) | 取消注册设置循环模式的回调。 | 
107| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_RegisterToggleFavoriteCallback](#oh_avsession_registertogglefavoritecallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnToggleFavorite](#oh_avsessioncallback_ontogglefavorite) callback, void \*userData) | 设置收藏的回调。 | 
108| [AVSession_ErrCode](#avsession_errcode) [OH_AVSession_UnregisterToggleFavoriteCallback](#oh_avsession_unregistertogglefavoritecallback) ([OH_AVSession](#oh_avsession) \*avsession, [OH_AVSessionCallback_OnToggleFavorite](#oh_avsessioncallback_ontogglefavorite) callback) | 取消设置收藏的回调。 | 
109
110
111## 类型定义说明
112
113
114### AVSession_ControlCommand
115
116```
117typedef enum AVSession_ControlCommand AVSession_ControlCommand
118```
119
120**描述**
121
122播控命令。
123
124**起始版本:** 13
125
126
127### AVSession_PlaybackPosition
128
129```
130typedef struct AVSession_PlaybackPosition AVSession_PlaybackPosition
131```
132
133**描述**
134
135媒体播放位置的相关属性。
136
137**起始版本:** 13
138
139
140### OH_AVMetadata
141
142```
143typedef struct OH_AVMetadataStruct OH_AVMetadata
144```
145
146**描述**
147
148会话元数据。 资源设置的avmetadata的实例。
149
150**起始版本:** 13
151
152
153### OH_AVMetadataBuilder
154
155```
156typedef struct OH_AVMetadataBuilderStruct OH_AVMetadataBuilder
157```
158
159**描述**
160
161会话元数据构造器。 构造器用于构造会话元数据。
162
163**起始版本:** 13
164
165
166### OH_AVSession
167
168```
169typedef struct OH_AVSession OH_AVSession
170```
171
172**描述**
173
174播控会话对象定义。
175
176可以用OH_AVSession_Create创建一个会话对象。
177
178**起始版本:** 13
179
180
181### OH_AVSessionCallback_OnCommand
182
183```
184typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnCommand)(OH_AVSession* session, AVSession_ControlCommand command, void* userData)
185```
186
187**描述**
188
189通用的执行播控命令的回调。
190
191**起始版本:** 13
192
193
194### OH_AVSessionCallback_OnFastForward
195
196```
197typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnFastForward)(OH_AVSession* session, uint32_t seekTime, void* userData)
198```
199
200**描述**
201
202快进的回调。
203
204**起始版本:** 13
205
206
207### OH_AVSessionCallback_OnRewind
208
209```
210typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnRewind)(OH_AVSession* session, uint32_t seekTime, void* userData)
211```
212
213**描述**
214
215快退的回调。
216
217**起始版本:** 13
218
219
220### OH_AVSessionCallback_OnSeek
221
222```
223typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSeek)(OH_AVSession* session, uint64_t seekTime, void* userData)
224```
225
226**描述**
227
228进度调节的回调。
229
230**起始版本:** 13
231
232
233### OH_AVSessionCallback_OnSetLoopMode
234
235```
236typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSession* session, AVSession_LoopMode curLoopMode, void* userData)
237```
238
239**描述**
240
241设置循环模式的回调。
242
243**起始版本:** 13
244
245
246### OH_AVSessionCallback_OnToggleFavorite
247
248```
249typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnToggleFavorite)(OH_AVSession* session, const char* assetId, void* userData)
250```
251
252**描述**
253
254收藏的回调。
255
256**起始版本:** 13
257
258
259## 枚举类型说明
260
261
262### AVMetadata_DisplayTag
263
264```
265enum AVMetadata_DisplayTag
266```
267
268**描述**
269
270应用媒体音源的特殊类型标识。
271
272**起始版本:** 13
273
274| 枚举值 | 描述 | 
275| -------- | -------- |
276| AVSESSION_DISPLAYTAG_AUDIO_VIVID | AUDIO VIVID标识。 | 
277
278
279### AVMetadata_Result
280
281```
282enum AVMetadata_Result
283```
284
285**描述**
286
287元数据操作的错误码。
288
289**起始版本:** 13
290
291| 枚举值 | 描述 | 
292| -------- | -------- |
293| AVMETADATA_SUCCESS | 执行成功。 | 
294| AVMETADATA_ERROR_INVALID_PARAM | 入参错误。 | 
295| AVMETADATA_ERROR_NO_MEMORY | 内存不足。 | 
296
297
298### AVMetadata_SkipIntervals
299
300```
301enum AVMetadata_SkipIntervals
302```
303
304**描述**
305
306表示session支持的快进快退时间间隔。
307
308**起始版本:** 13
309
310| 枚举值 | 描述 | 
311| -------- | -------- |
312| SECONDS_10 | 时间为10秒。 | 
313| SECONDS_15 | 时间为15秒。 | 
314| SECONDS_30 | 时间为30秒。 | 
315
316
317### AVSession_ControlCommand
318
319```
320enum AVSession_ControlCommand
321```
322
323**描述**
324
325播控命令。
326
327**起始版本:** 13
328
329| 枚举值 | 描述 | 
330| -------- | -------- |
331| CONTROL_CMD_INVALID | 无效控制命令。 | 
332| CONTROL_CMD_PLAY | 播放命令。 | 
333| CONTROL_CMD_PAUSE | 暂停命令。 | 
334| CONTROL_CMD_STOP | 停止命令。 | 
335| CONTROL_CMD_PLAY_NEXT | 播放下一首命令。 | 
336| CONTROL_CMD_PLAY_PREVIOUS | 播放上一首命令。 | 
337
338
339### AVSession_ErrCode
340
341```
342enum AVSession_ErrCode
343```
344
345**描述**
346
347播控错误码。
348
349**起始版本:** 13
350
351| 枚举值 | 描述 | 
352| -------- | -------- |
353| AV_SESSION_ERR_SUCCESS | 操作成功。 | 
354| AV_SESSION_ERR_INVALID_PARAMETER | 参数检查失败。 | 
355| AV_SESSION_ERR_SERVICE_EXCEPTION | 会话服务端异常。 | 
356| AV_SESSION_ERR_CODE_SESSION_NOT_EXIST | 会话不存在。 | 
357| AV_SESSION_ERR_CODE_COMMAND_INVALID | 无效会话命令。 | 
358| AV_SESSION_ERR_CODE_SESSION_INACTIVE | 会话未激活。 | 
359| AV_SESSION_ERR_CODE_MESSAGE_OVERLOAD | 命令&amp;消息过载。 | 
360
361
362### AVSession_LoopMode
363
364```
365enum AVSession_LoopMode
366```
367
368**描述**
369
370媒体播放循环模式。
371
372**起始版本:** 13
373
374| 枚举值 | 描述 | 
375| -------- | -------- |
376| LOOP_MODE_SEQUENCE | 顺序播放。 | 
377| LOOP_MODE_SINGLE | 单曲循环。 | 
378| LOOP_MODE_LIST | 表单循环。 | 
379| LOOP_MODE_SHUFFLE | 随机播放。 | 
380| LOOP_MODE_CUSTOM | 自定义播放。 | 
381
382
383### AVSession_PlaybackState
384
385```
386enum AVSession_PlaybackState
387```
388
389**描述**
390
391媒体播放状态的相关属性。
392
393**起始版本:** 13
394
395| 枚举值 | 描述 | 
396| -------- | -------- |
397| PLAYBACK_STATE_INITIAL | 初始状态。 | 
398| PLAYBACK_STATE_PREPARING | 准备状态。 | 
399| PLAYBACK_STATE_PLAYING | 正在播放。 | 
400| PLAYBACK_STATE_PAUSED | 暂停。 | 
401| PLAYBACK_STATE_FAST_FORWARDING | 快进。 | 
402| PLAYBACK_STATE_REWINDED | 快退。 | 
403| PLAYBACK_STATE_STOPPED | 停止。 | 
404| PLAYBACK_STATE_COMPLETED | 播放完成。 | 
405| PLAYBACK_STATE_RELEASED | 释放。 | 
406| PLAYBACK_STATE_ERROR | 错误。 | 
407| PLAYBACK_STATE_IDLE | 空闲。 | 
408| PLAYBACK_STATE_BUFFERING | 缓冲。 | 
409| PLAYBACK_STATE_MAX | 最大状态。(当state为12时,返回错误码401) | 
410
411
412### AVSession_Type
413
414```
415enum AVSession_Type
416```
417
418**描述**
419
420会话类型。
421
422**起始版本:** 13
423
424| 枚举值 | 描述 | 
425| -------- | -------- |
426| SESSION_TYPE_AUDIO | 音频。 | 
427| SESSION_TYPE_VIDEO | 视频。 | 
428| SESSION_TYPE_VOICE_CALL | 音频通话。 | 
429| SESSION_TYPE_VIDEO_CALL | 视频通话。 | 
430
431
432### AVSessionCallback_Result
433
434```
435enum AVSessionCallback_Result
436```
437
438**描述**
439
440回调执行的结果。
441
442**起始版本:** 13
443
444| 枚举值 | 描述 | 
445| -------- | -------- |
446| AVSESSION_CALLBACK_RESULT_SUCCESS | 执行成功。 | 
447| AVSESSION_CALLBACK_RESULT_FAILURE | 执行失败。 | 
448
449
450## 函数说明
451
452
453### OH_AVMetadata_Destroy()
454
455```
456AVMetadata_Result OH_AVMetadata_Destroy(OH_AVMetadata* avMetadata)
457```
458
459**描述**
460
461释放媒体元数据对象。
462
463**起始版本:** 13
464
465**参数:**
466
467| 名称 | 描述 | 
468| -------- | -------- |
469| avMetadata | 指向元数据的指针对象。 | 
470
471**返回:**
472
473函数返回值[AVMetadata_Result](#avmetadata_result):
474
475AVMETADATA_SUCCESS:函数执行成功。
476
477AVMETADATA_ERROR_INVALID_PARAM:参数avMetadata为nullptr。
478
479
480### OH_AVMetadataBuilder_Create()
481
482```
483AVMetadata_Result OH_AVMetadataBuilder_Create(OH_AVMetadataBuilder** builder)
484```
485
486**描述**
487
488创建一个元数据构造器。
489
490**起始版本:** 13
491
492**参数:**
493
494| 名称 | 描述 | 
495| -------- | -------- |
496| builder | 该引用指向创建的构造器的结果。 | 
497
498**返回:**
499
500函数返回值[AVMetadata_Result](#avmetadata_result):
501
502AVMETADATA_SUCCESS:函数执行成功。
503
504AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。
505
506AVMETADATA_ERROR_NO_MEMORY:没有内存来分配新实例。
507
508
509### OH_AVMetadataBuilder_Destroy()
510
511```
512AVMetadata_Result OH_AVMetadataBuilder_Destroy(OH_AVMetadataBuilder* builder)
513```
514
515**描述**
516
517销毁元数据构造器。
518
519**起始版本:** 13
520
521**参数:**
522
523| 名称 | 描述 | 
524| -------- | -------- |
525| builder | 指向元数据构造器的实例。 | 
526
527**返回:**
528
529函数返回值[AVMetadata_Result](#avmetadata_result):
530
531AVMETADATA_SUCCESS:函数执行成功。
532
533AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。
534
535
536### OH_AVMetadataBuilder_GenerateAVMetadata()
537
538```
539AVMetadata_Result OH_AVMetadataBuilder_GenerateAVMetadata(OH_AVMetadataBuilder* builder, OH_AVMetadata** avMetadata)
540```
541
542**描述**
543
544生成媒体元数据对象。
545
546**起始版本:** 13
547
548**参数:**
549
550| 名称 | 描述 | 
551| -------- | -------- |
552| builder | 指向元数据构造器的实例。 | 
553| avMetadata | 指向元数据的指针对象。 | 
554
555**返回:**
556
557函数返回值[AVMetadata_Result](#avmetadata_result):
558
559AVMETADATA_SUCCESS:函数执行成功。
560
561AVMETADATA_ERROR_NO_MEMORY:内存不足。
562
563AVMETADATA_ERROR_INVALID_PARAM:
564
5651. 参数builder为nullptr。
566
5672. 参数avMetadata为nullptr。
568
569
570### OH_AVMetadataBuilder_SetAlbum()
571
572```
573AVMetadata_Result OH_AVMetadataBuilder_SetAlbum(OH_AVMetadataBuilder* builder, const char* album)
574```
575
576**描述**
577
578设置资源专辑名称。
579
580**起始版本:** 13
581
582**参数:**
583
584| 名称 | 描述 | 
585| -------- | -------- |
586| builder | 指向元数据构造器的实例。 | 
587| album | 专辑名。 | 
588
589**返回:**
590
591函数返回值[AVMetadata_Result](#avmetadata_result):
592
593AVMETADATA_SUCCESS:函数执行成功。
594
595AVMETADATA_ERROR_INVALID_PARAM:
5961. 参数builder为nullptr。
597
5982. 参数album为nullptr。
599
600
601### OH_AVMetadataBuilder_SetArtist()
602
603```
604AVMetadata_Result OH_AVMetadataBuilder_SetArtist(OH_AVMetadataBuilder* builder, const char* artist)
605```
606
607**描述**
608
609设置资源所属的艺术家。
610
611**起始版本:** 13
612
613**参数:**
614
615| 名称 | 描述 | 
616| -------- | -------- |
617| builder | 指向元数据构造器的实例。 | 
618| artist | 艺术家。 | 
619
620**返回:**
621
622函数返回值[AVMetadata_Result](#avmetadata_result):
623
624AVMETADATA_SUCCESS:函数执行成功。
625
626AVMETADATA_ERROR_INVALID_PARAM:
6271. 参数builder为nullptr。
628
6292. 参数artist为nullptr。
630
631
632### OH_AVMetadataBuilder_SetAssetId()
633
634```
635AVMetadata_Result OH_AVMetadataBuilder_SetAssetId(OH_AVMetadataBuilder* builder, const char* assetId)
636```
637
638**描述**
639
640设置当前媒体资源id。
641
642**起始版本:** 13
643
644**参数:**
645
646| 名称 | 描述 | 
647| -------- | -------- |
648| builder | 指向元数据构造器的实例。 | 
649| assetId | 资源id。 | 
650
651**返回:**
652
653函数返回值[AVMetadata_Result](#avmetadata_result):
654
655AVMETADATA_SUCCESS:函数执行成功。
656
657AVMETADATA_ERROR_INVALID_PARAM:
658
6591. 参数builder为nullptr。
660
6612. 参数assetId为nullptr。
662
663
664### OH_AVMetadataBuilder_SetAuthor()
665
666```
667AVMetadata_Result OH_AVMetadataBuilder_SetAuthor(OH_AVMetadataBuilder* builder, const char* author)
668```
669
670**描述**
671
672设置资源的作者。
673
674**起始版本:** 13
675
676**参数:**
677
678| 名称 | 描述 | 
679| -------- | -------- |
680| builder | 指向元数据构造器的实例。 | 
681| author | 作者。 | 
682
683**返回:**
684
685函数返回值[AVMetadata_Result](#avmetadata_result):
686
687AVMETADATA_SUCCESS:函数执行成功。
688
689AVMETADATA_ERROR_INVALID_PARAM:
690
6911. 参数builder为nullptr。
692
6932. 参数author为nullptr。
694
695
696### OH_AVMetadataBuilder_SetComposer()
697
698```
699AVMetadata_Result OH_AVMetadataBuilder_SetComposer(OH_AVMetadataBuilder* builder, const char* composer)
700```
701
702**描述**
703
704设置资源作曲者。
705
706**起始版本:** 13
707
708**参数:**
709
710| 名称 | 描述 | 
711| -------- | -------- |
712| builder | 指向元数据构造器的实例。 | 
713| composer | 作曲者。 | 
714
715**返回:**
716
717函数返回值[AVMetadata_Result](#avmetadata_result):
718
719AVMETADATA_SUCCESS:函数执行成功。
720
721AVMETADATA_ERROR_INVALID_PARAM:
7221. 参数builder为nullptr。
723
7242. 参数composer为nullptr。
725
726
727### OH_AVMetadataBuilder_SetDescription()
728
729```
730AVMetadata_Result OH_AVMetadataBuilder_SetDescription(OH_AVMetadataBuilder* builder, const char* description)
731```
732
733**描述**
734
735设置媒体描述信息。
736
737**起始版本:** 13
738
739**参数:**
740
741| 名称 | 描述 | 
742| -------- | -------- |
743| builder | 指向元数据构造器的实例。 | 
744| description | 媒体描述信息。 | 
745
746**返回:**
747
748函数返回值[AVMetadata_Result](#avmetadata_result):
749
750AVMETADATA_SUCCESS:函数执行成功。
751
752AVMETADATA_ERROR_INVALID_PARAM:
753
7541. 参数builder为nullptr。
755
7562. 参数description为nullptr。
757
758
759### OH_AVMetadataBuilder_SetDisplayTags()
760
761```
762AVMetadata_Result OH_AVMetadataBuilder_SetDisplayTags(OH_AVMetadataBuilder* builder, int32_t tags)
763```
764
765**描述**
766
767设置媒体资源的金标类型。
768
769**起始版本:** 13
770
771**参数:**
772
773| 名称 | 描述 | 
774| -------- | -------- |
775| builder | 指向元数据构造器的实例。 | 
776| tags | 用于显示在播控的媒体资源的金标类型。 | 
777
778**返回:**
779
780函数返回值[AVMetadata_Result](#avmetadata_result):
781
782AVMETADATA_SUCCESS:函数执行成功。
783
784AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。
785
786
787### OH_AVMetadataBuilder_SetDuration()
788
789```
790AVMetadata_Result OH_AVMetadataBuilder_SetDuration(OH_AVMetadataBuilder* builder, int64_t duration)
791```
792
793**描述**
794
795设置资源播放时长。
796
797**起始版本:** 13
798
799**参数:**
800
801| 名称 | 描述 | 
802| -------- | -------- |
803| builder | 指向元数据构造器的实例。 | 
804| duration | 资源播放时长,以ms为单位。 | 
805
806**返回:**
807
808函数返回值[AVMetadata_Result](#avmetadata_result):
809
810AVMETADATA_SUCCESS:函数执行成功。
811
812AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。
813
814
815### OH_AVMetadataBuilder_SetLyric()
816
817```
818AVMetadata_Result OH_AVMetadataBuilder_SetLyric(OH_AVMetadataBuilder* builder, const char* lyric)
819```
820
821**描述**
822
823设置歌词。
824
825**起始版本:** 13
826
827**参数:**
828
829| 名称 | 描述 | 
830| -------- | -------- |
831| builder | 指向元数据构造器的实例。 | 
832| lyric | lrc格式的歌词内容。 | 
833
834**返回:**
835
836函数返回值[AVMetadata_Result](#avmetadata_result):
837
838AVMETADATA_SUCCESS:函数执行成功。
839
840AVMETADATA_ERROR_INVALID_PARAM:
841
8421. 参数builder为nullptr。
843
8442. 参数lyric为nullptr。
845
846
847### OH_AVMetadataBuilder_SetMediaImageUri()
848
849```
850AVMetadata_Result OH_AVMetadataBuilder_SetMediaImageUri(OH_AVMetadataBuilder* builder, const char* mediaImageUri)
851```
852
853**描述**
854
855设置媒体图片数据。
856
857**起始版本:** 13
858
859**参数:**
860
861| 名称 | 描述 | 
862| -------- | -------- |
863| builder | 指向元数据构造器的实例。 | 
864| mediaImageUri | 网络资源图片数据地址。 | 
865
866**返回:**
867
868函数返回值[AVMetadata_Result](#avmetadata_result):
869
870AVMETADATA_SUCCESS:函数执行成功。
871
872AVMETADATA_ERROR_INVALID_PARAM:
873
8741. 参数builder为nullptr。
875
8762. 参数mediaImageUri为nullptr。
877
878
879### OH_AVMetadataBuilder_SetSkipIntervals()
880
881```
882AVMetadata_Result OH_AVMetadataBuilder_SetSkipIntervals(OH_AVMetadataBuilder* builder, AVMetadata_SkipIntervals intervals)
883```
884
885**描述**
886
887设置资源的跳转的间隔时间。
888
889**起始版本:** 13
890
891**参数:**
892
893| 名称 | 描述 | 
894| -------- | -------- |
895| builder | 指向元数据构造器的实例。 | 
896| intervals | 跳转的时间间隔。 | 
897
898**返回:**
899
900函数返回值[AVMetadata_Result](#avmetadata_result):
901
902AVMETADATA_SUCCESS:函数执行成功。
903
904AVMETADATA_ERROR_INVALID_PARAM:
905
9061. 参数builder为nullptr。
907
9082. 参数intervals为无效。
909
910
911### OH_AVMetadataBuilder_SetSubtitle()
912
913```
914AVMetadata_Result OH_AVMetadataBuilder_SetSubtitle(OH_AVMetadataBuilder* builder, const char* subtitle)
915```
916
917**描述**
918
919设置副标题。
920
921**起始版本:** 13
922
923**参数:**
924
925| 名称 | 描述 | 
926| -------- | -------- |
927| builder | 指向元数据构造器的实例。 | 
928| subtitle | The subtitle of resource. | 
929
930**返回:**
931
932函数返回值[AVMetadata_Result](#avmetadata_result):
933
934AVMETADATA_SUCCESS:函数执行成功。
935
936AVMETADATA_ERROR_INVALID_PARAM:
937
9381. 参数builder为nullptr。
939
9402. 参数subtitle为nullptr。
941
942
943### OH_AVMetadataBuilder_SetTitle()
944
945```
946AVMetadata_Result OH_AVMetadataBuilder_SetTitle(OH_AVMetadataBuilder* builder, const char* title)
947```
948
949**描述**
950
951设置资源标题。
952
953**起始版本:** 13
954
955**参数:**
956
957| 名称 | 描述 | 
958| -------- | -------- |
959| builder | 指向元数据构造器的实例。 | 
960| title | 标题。 | 
961
962**返回:**
963
964函数返回值[AVMetadata_Result](#avmetadata_result):
965
966AVMETADATA_SUCCESS:函数执行成功。
967
968AVMETADATA_ERROR_INVALID_PARAM:
9691. 参数builder为nullptr。
970
9712. 参数title为nullptr。
972
973
974### OH_AVMetadataBuilder_SetWriter()
975
976```
977AVMetadata_Result OH_AVMetadataBuilder_SetWriter(OH_AVMetadataBuilder* builder, const char* writer)
978```
979
980**描述**
981
982设置资源词作者。
983
984**起始版本:** 13
985
986**参数:**
987
988| 名称 | 描述 | 
989| -------- | -------- |
990| builder | 指向元数据构造器的实例。 | 
991| writer | 词作者。 | 
992
993**返回:**
994
995函数返回值[AVMetadata_Result](#avmetadata_result):
996
997AVMETADATA_SUCCESS:函数执行成功。
998
999AVMETADATA_ERROR_INVALID_PARAM:
10001. 参数builder为nullptr。
1001
10022. 参数writer为nullptr。
1003
1004
1005### OH_AVSession_Activate()
1006
1007```
1008AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession)
1009```
1010
1011**描述**
1012
1013激活会话。
1014
1015**起始版本:** 13
1016
1017**参数:**
1018
1019| 名称 | 描述 | 
1020| -------- | -------- |
1021| avsession | 媒体会话对象。 | 
1022
1023**返回:**
1024
1025函数返回值[AVSession_ErrCode](#avsession_errcode):
1026
1027AV_SESSION_ERR_SUCCESS:函数执行成功。
1028
1029AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。
1030
1031AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1032
1033
1034### OH_AVSession_Create()
1035
1036```
1037AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag, const char* bundleName, const char* abilityName, OH_AVSession** avsession)
1038```
1039
1040**描述**
1041
1042创建会话对象。
1043
1044**起始版本:** 13
1045
1046**参数:**
1047
1048| 名称 | 描述 | 
1049| -------- | -------- |
1050| sessionType | 会话类型[AVSession_Type](#avsession_type)。 | 
1051| sessionTag | 会话标签。 | 
1052| bundleName | 创建会话的包名。 | 
1053| abilityName | 创建会话的ability名。 | 
1054| avsession | 返回的媒体会话对象。 | 
1055
1056**返回:**
1057
1058函数返回值[AVSession_ErrCode](#avsession_errcode):
1059
1060AV_SESSION_ERR_SUCCESS:函数执行成功。
1061
1062AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常或session重复创建。
1063
1064AV_SESSION_ERR_INVALID_PARAMETER:
1065
10661. 参数sessionType无效。
1067
10682. 参数sessionTag为nullptr。
1069
10703. 参数bundleName为nullptr。
1071
10724. 参数abilityName为nullptr。
1073
10745. 参数avsession为nullptr。
1075
1076
1077### OH_AVSession_Deactivate()
1078
1079```
1080AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession)
1081```
1082
1083**描述**
1084
1085取消激活媒体会话。
1086
1087**起始版本:** 13
1088
1089**参数:**
1090
1091| 名称 | 描述 | 
1092| -------- | -------- |
1093| avsession | 媒体会话对象。 | 
1094
1095**返回:**
1096
1097函数返回值[AVSession_ErrCode](#avsession_errcode):
1098
1099AV_SESSION_ERR_SUCCESS:函数执行成功。
1100
1101AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。
1102
1103AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1104
1105
1106### OH_AVSession_Destroy()
1107
1108```
1109AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession)
1110```
1111
1112**描述**
1113
1114销毁会话对象。
1115
1116**起始版本:** 13
1117
1118**参数:**
1119
1120| 名称 | 描述 | 
1121| -------- | -------- |
1122| avsession | 媒体会话对象。 | 
1123
1124**返回:**
1125
1126函数返回值[AVSession_ErrCode](#avsession_errcode):
1127
1128AV_SESSION_ERR_SUCCESS:函数执行成功。
1129
1130AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。
1131
1132
1133### OH_AVSession_GetSessionId()
1134
1135```
1136AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId)
1137```
1138
1139**描述**
1140
1141获取会话id。
1142
1143**起始版本:** 13
1144
1145**参数:**
1146
1147| 名称 | 描述 | 
1148| -------- | -------- |
1149| avsession | 媒体会话对象。 | 
1150| sessionId | 返回的会话类型id。 | 
1151
1152**返回:**
1153
1154函数返回值[AVSession_ErrCode](#avsession_errcode):
1155
1156AV_SESSION_ERR_SUCCESS:函数执行成功。
1157
1158AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常,获取session Id错误。
1159
1160AV_SESSION_ERR_INVALID_PARAMETER:
1161
11621. 参数avsession为nullptr。
1163
11642. 参数sessionId为nullptr。
1165
1166
1167### OH_AVSession_GetSessionType()
1168
1169```
1170AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType)
1171```
1172
1173**描述**
1174
1175获取会话类型。
1176
1177**起始版本:** 13
1178
1179**参数:**
1180
1181| 名称 | 描述 | 
1182| -------- | -------- |
1183| avsession | 媒体会话对象。 | 
1184| sessionType | 返回的会话类型。 | 
1185
1186**返回:**
1187
1188函数返回值[AVSession_ErrCode](#avsession_errcode):
1189
1190AV_SESSION_ERR_SUCCESS:函数执行成功。
1191
1192AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常,获取session type错误。
1193
1194AV_SESSION_ERR_INVALID_PARAMETER:
1195
11961. 参数avsession为nullptr。
1197
11982. 参数sessionType为nullptr。
1199
1200
1201### OH_AVSession_RegisterCommandCallback()
1202
1203```
1204AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void* userData)
1205```
1206
1207**描述**
1208
1209注册通用播控的回调。
1210
1211**起始版本:** 13
1212
1213**参数:**
1214
1215| 名称 | 描述 | 
1216| -------- | -------- |
1217| avsession | 媒体会话对象。 | 
1218| command | 播控的控制命令。 | 
1219| callback | 控制命令的回调[OH_AVSessionCallback_OnCommand](#oh_avsessioncallback_oncommand)。 | 
1220| userData | 指向通过回调函数传递的应用数据指针。 | 
1221
1222**返回:**
1223
1224函数返回值[AVSession_ErrCode](#avsession_errcode):
1225
1226AV_SESSION_ERR_SUCCESS:函数执行成功。
1227
1228AV_SESSION_ERR_CODE_COMMAND_INVALID:控制命令无效。
1229
1230AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1231
1232AV_SESSION_ERR_INVALID_PARAMETER:
1233
12341. 参数avsession为nullptr。
1235
12362. 参数callback为nullptr。
1237
1238
1239### OH_AVSession_RegisterForwardCallback()
1240
1241```
1242AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnFastForward callback, void* userData)
1243```
1244
1245**描述**
1246
1247注册快进的回调。
1248
1249**起始版本:** 13
1250
1251**参数:**
1252
1253| 名称 | 描述 | 
1254| -------- | -------- |
1255| avsession | 媒体会话对象。 | 
1256| callback | 快进命令的回调[OH_AVSessionCallback_OnFastForward](#oh_avsessioncallback_onfastforward)。 | 
1257| userData | 指向通过回调函数传递的应用数据指针。 | 
1258
1259**返回:**
1260
1261函数返回值[AVSession_ErrCode](#avsession_errcode):
1262
1263AV_SESSION_ERR_SUCCESS:函数执行成功。
1264
1265AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1266
1267AV_SESSION_ERR_INVALID_PARAMETER:
1268
12691. 参数avsession为nullptr。
1270
12712. 参数callback为nullptr。
1272
1273
1274### OH_AVSession_RegisterRewindCallback()
1275
1276```
1277AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnRewind callback, void* userData)
1278```
1279
1280**描述**
1281
1282注册快退的回调。
1283
1284**起始版本:** 13
1285
1286**参数:**
1287
1288| 名称 | 描述 | 
1289| -------- | -------- |
1290| avsession | 媒体会话对象。 | 
1291| callback | 快退命令的回调[OH_AVSessionCallback_OnRewind](#oh_avsessioncallback_onrewind)。 | 
1292| userData | 指向通过回调函数传递的应用数据指针。 | 
1293
1294**返回:**
1295
1296函数返回值[AVSession_ErrCode](#avsession_errcode):
1297
1298AV_SESSION_ERR_SUCCESS:函数执行成功。
1299
1300AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1301
1302AV_SESSION_ERR_INVALID_PARAMETER:
1303
13041. 参数avsession为nullptr。
1305
13062. 参数callback为nullptr。
1307
1308
1309### OH_AVSession_RegisterSeekCallback()
1310
1311```
1312AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSeek callback, void* userData)
1313```
1314
1315**描述**
1316
1317注册跳转的回调。
1318
1319**起始版本:** 13
1320
1321**参数:**
1322
1323| 名称 | 描述 | 
1324| -------- | -------- |
1325| avsession | 媒体会话对象。 | 
1326| callback | 跳转命令的回调[OH_AVSessionCallback_OnSeek](#oh_avsessioncallback_onseek)。 | 
1327| userData | 指向通过回调函数传递的应用数据指针。 | 
1328
1329**返回:**
1330
1331函数返回值[AVSession_ErrCode](#avsession_errcode):
1332
1333AV_SESSION_ERR_SUCCESS:函数执行成功。
1334
1335AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1336
1337AV_SESSION_ERR_INVALID_PARAMETER:
1338
13391. 参数avsession为nullptr。
1340
13412. 参数callback为nullptr。
1342
1343
1344### OH_AVSession_RegisterSetLoopModeCallback()
1345
1346```
1347AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSetLoopMode callback, void* userData)
1348```
1349
1350**描述**
1351
1352注册设置循环模式的回调。
1353
1354**起始版本:** 13
1355
1356**参数:**
1357
1358| 名称 | 描述 | 
1359| -------- | -------- |
1360| avsession | 媒体会话对象。 | 
1361| callback | 设置循环模式命令的回调[OH_AVSessionCallback_OnSetLoopMode](#oh_avsessioncallback_onsetloopmode)。 | 
1362| userData | 指向通过回调函数传递的应用数据指针。 | 
1363
1364**返回:**
1365
1366函数返回值[AVSession_ErrCode](#avsession_errcode):
1367
1368AV_SESSION_ERR_SUCCESS:函数执行成功。
1369
1370AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1371
1372AV_SESSION_ERR_INVALID_PARAMETER:
1373
13741. 参数avsession为nullptr。
1375
13762. 参数callback为nullptr。
1377
1378
1379### OH_AVSession_RegisterToggleFavoriteCallback()
1380
1381```
1382AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnToggleFavorite callback, void* userData)
1383```
1384
1385**描述**
1386
1387设置收藏的回调。
1388
1389**起始版本:** 13
1390
1391**参数:**
1392
1393| 名称 | 描述 | 
1394| -------- | -------- |
1395| avsession | 媒体会话对象。 | 
1396| callback | 设置收藏命令的回调[OH_AVSessionCallback_OnToggleFavorite](#oh_avsessioncallback_ontogglefavorite)。 | 
1397| userData | 指向通过回调函数传递的应用数据指针。 | 
1398
1399**返回:**
1400
1401函数返回值[AVSession_ErrCode](#avsession_errcode):
1402
1403AV_SESSION_ERR_SUCCESS:函数执行成功。
1404
1405AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1406
1407AV_SESSION_ERR_INVALID_PARAMETER:
1408
14091. 参数avsession为nullptr。
1410
14112. 参数callback为nullptr。
1412
1413
1414### OH_AVSession_SetAVMetadata()
1415
1416```
1417AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata)
1418```
1419
1420**描述**
1421
1422设置媒体元数据。
1423
1424**起始版本:** 13
1425
1426**参数:**
1427
1428| 名称 | 描述 | 
1429| -------- | -------- |
1430| avsession | 媒体会话对象。 | 
1431| avmetadata | 设置媒体元数据信息。 | 
1432
1433**返回:**
1434
1435函数返回值[AVSession_ErrCode](#avsession_errcode):
1436
1437AV_SESSION_ERR_SUCCESS:函数执行成功。
1438
1439AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1440
1441AV_SESSION_ERR_INVALID_PARAMETER:
1442
14431. 参数avsession为nullptr。
1444
14452. 参数avmetadata为nullptr。
1446
1447
1448### OH_AVSession_SetFavorite()
1449
1450```
1451AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorite)
1452```
1453
1454**描述**
1455
1456设置收藏状态。
1457
1458**起始版本:** 13
1459
1460**参数:**
1461
1462| 名称 | 描述 | 
1463| -------- | -------- |
1464| avsession | 媒体会话对象。 | 
1465| favorite | 收藏状态,true表示收藏,false表示取消收藏。 | 
1466
1467**返回:**
1468
1469函数返回值[AVSession_ErrCode](#avsession_errcode):
1470
1471AV_SESSION_ERR_SUCCESS:函数执行成功。
1472
1473AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1474
1475AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。
1476
1477
1478### OH_AVSession_SetLoopMode()
1479
1480```
1481AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode)
1482```
1483
1484**描述**
1485
1486设置循环模式。
1487
1488**起始版本:** 13
1489
1490**参数:**
1491
1492| 名称 | 描述 | 
1493| -------- | -------- |
1494| avsession | 媒体会话对象。 | 
1495| loopMode | 循环模式。 | 
1496
1497**返回:**
1498
1499函数返回值[AVSession_ErrCode](#avsession_errcode):
1500
1501AV_SESSION_ERR_SUCCESS:函数执行成功。
1502
1503AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1504
1505AV_SESSION_ERR_INVALID_PARAMETER:
1506
15071. 参数avsession为nullptr。
1508
15092. 参数loopMode无效。
1510
1511
1512### OH_AVSession_SetPlaybackPosition()
1513
1514```
1515AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession, AVSession_PlaybackPosition* playbackPosition)
1516```
1517
1518**描述**
1519
1520设置播放位置。
1521
1522**起始版本:** 13
1523
1524**参数:**
1525
1526| 名称 | 描述 | 
1527| -------- | -------- |
1528| avsession | 媒体会话对象。 | 
1529| playbackPosition | 播放位置对象。 | 
1530
1531**返回:**
1532
1533函数返回值[AVSession_ErrCode](#avsession_errcode):
1534
1535AV_SESSION_ERR_SUCCESS:函数执行成功。
1536
1537AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1538
1539AV_SESSION_ERR_INVALID_PARAMETER:
1540
15411. 参数avsession为nullptr。
1542
15432. 参数playbackPosition为nullptr。
1544
1545
1546### OH_AVSession_SetPlaybackState()
1547
1548```
1549AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession, AVSession_PlaybackState playbackState)
1550```
1551
1552**描述**
1553
1554设置播放状态。
1555
1556**起始版本:** 13
1557
1558**参数:**
1559
1560| 名称 | 描述 | 
1561| -------- | -------- |
1562| avsession | 媒体会话对象。 | 
1563| playbackState | 播放状态。 | 
1564
1565**返回:**
1566
1567函数返回值[AVSession_ErrCode](#avsession_errcode):
1568
1569AV_SESSION_ERR_SUCCESS:函数执行成功。
1570
1571AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1572
1573AV_SESSION_ERR_INVALID_PARAMETER:
1574
15751. 参数avsession为nullptr。
1576
15772. 参数playbackState无效。
1578
1579
1580### OH_AVSession_UnregisterCommandCallback()
1581
1582```
1583AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback)
1584```
1585
1586**描述**
1587
1588取消注册通用播控的回调。
1589
1590**起始版本:** 13
1591
1592**参数:**
1593
1594| 名称 | 描述 | 
1595| -------- | -------- |
1596| avsession | 媒体会话对象。 | 
1597| command | 播控的控制命令。 | 
1598| callback | 控制命令的回调[OH_AVSessionCallback_OnCommand](#oh_avsessioncallback_oncommand)。 | 
1599
1600**返回:**
1601
1602函数返回值[AVSession_ErrCode](#avsession_errcode):
1603
1604AV_SESSION_ERR_SUCCESS:函数执行成功。
1605
1606AV_SESSION_ERR_CODE_COMMAND_INVALID:控制命令无效。
1607
1608AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1609
1610AV_SESSION_ERR_INVALID_PARAMETER:
1611
16121. 参数avsession为nullptr。
1613
16142. 参数callback为nullptr。
1615
1616
1617### OH_AVSession_UnregisterForwardCallback()
1618
1619```
1620AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnFastForward callback)
1621```
1622
1623**描述**
1624
1625取消注册快进的回调。
1626
1627**起始版本:** 13
1628
1629**参数:**
1630
1631| 名称 | 描述 | 
1632| -------- | -------- |
1633| avsession | 媒体会话对象。 | 
1634| callback | 快进命令的回调[OH_AVSessionCallback_OnFastForward](#oh_avsessioncallback_onfastforward)。 | 
1635
1636**返回:**
1637
1638函数返回值[AVSession_ErrCode](#avsession_errcode):
1639
1640AV_SESSION_ERR_SUCCESS:函数执行成功。
1641
1642AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1643
1644AV_SESSION_ERR_INVALID_PARAMETER:
1645
16461. 参数avsession为nullptr。
1647
16482. 参数callback为nullptr。
1649
1650
1651### OH_AVSession_UnregisterRewindCallback()
1652
1653```
1654AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnRewind callback)
1655```
1656
1657**描述**
1658
1659取消注册快退的回调。
1660
1661**起始版本:** 13
1662
1663**参数:**
1664
1665| 名称 | 描述 | 
1666| -------- | -------- |
1667| avsession | 媒体会话对象。 | 
1668| callback | 快退命令的回调[OH_AVSessionCallback_OnRewind](#oh_avsessioncallback_onrewind)。 | 
1669
1670**返回:**
1671
1672函数返回值[AVSession_ErrCode](#avsession_errcode):
1673
1674AV_SESSION_ERR_SUCCESS:函数执行成功。
1675
1676AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1677
1678AV_SESSION_ERR_INVALID_PARAMETER:
1679
16801. 参数avsession为nullptr。
1681
16822. 参数callback为nullptr。
1683
1684
1685### OH_AVSession_UnregisterSeekCallback()
1686
1687```
1688AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSeek callback)
1689```
1690
1691**描述**
1692
1693取消注册跳转的回调。
1694
1695**起始版本:** 13
1696
1697**参数:**
1698
1699| 名称 | 描述 | 
1700| -------- | -------- |
1701| avsession | 媒体会话对象。 | 
1702| callback | 跳转命令的回调[OH_AVSessionCallback_OnSeek](#oh_avsessioncallback_onseek)。 | 
1703
1704**返回:**
1705
1706函数返回值[AVSession_ErrCode](#avsession_errcode):
1707
1708AV_SESSION_ERR_SUCCESS:函数执行成功。
1709
1710AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1711
1712AV_SESSION_ERR_INVALID_PARAMETER:
1713
17141. 参数avsession为nullptr。
1715
17162. 参数callback为nullptr。
1717
1718
1719### OH_AVSession_UnregisterSetLoopModeCallback()
1720
1721```
1722AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSetLoopMode callback)
1723```
1724
1725**描述**
1726
1727取消注册设置循环模式的回调。
1728
1729**起始版本:** 13
1730
1731**参数:**
1732
1733| 名称 | 描述 | 
1734| -------- | -------- |
1735| avsession | 媒体会话对象。 | 
1736| callback | 设置循环模式命令的回调[OH_AVSessionCallback_OnSetLoopMode](#oh_avsessioncallback_onsetloopmode)。 | 
1737
1738**返回:**
1739
1740函数返回值[AVSession_ErrCode](#avsession_errcode):
1741
1742AV_SESSION_ERR_SUCCESS:函数执行成功。
1743
1744AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1745
1746AV_SESSION_ERR_INVALID_PARAMETER:
1747
17481. 参数avsession为nullptr。
1749
17502. 参数callback为nullptr。
1751
1752
1753### OH_AVSession_UnregisterToggleFavoriteCallback()
1754
1755```
1756AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnToggleFavorite callback)
1757```
1758
1759**描述**
1760
1761取消设置收藏的回调。
1762
1763**起始版本:** 13
1764
1765**参数:**
1766
1767| 名称 | 描述 | 
1768| -------- | -------- |
1769| avsession | 媒体会话对象。 | 
1770| callback | 设置收藏命令的回调[OH_AVSessionCallback_OnToggleFavorite](#oh_avsessioncallback_ontogglefavorite)。 | 
1771
1772**返回:**
1773
1774函数返回值[AVSession_ErrCode](#avsession_errcode):
1775
1776AV_SESSION_ERR_SUCCESS:函数执行成功。
1777
1778AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。
1779
1780AV_SESSION_ERR_INVALID_PARAMETER:
1781
17821. 参数avsession为nullptr。
1783
17842. 参数callback为nullptr。
1785