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