• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_avsession.h
2<!--Kit: AVSession Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @ccfriend; @liao_qian-->
5<!--SE: @ccfriend-->
6<!--TSE: @chenmingxi1_huawei-->
7
8## Overview
9
10The file declares the AVSession definition, which can be used to set metadata, playback state, and other information.
11
12**File to include**: <multimedia/av_session/native_avsession.h>
13
14**Library**: libohavsession.so
15
16**System capability**: SystemCapability.Multimedia.AVSession.Core
17
18**Since**: 13
19
20**Related module**: [OHAVSession](capi-ohavsession.md)
21
22## Summary
23
24### Structs
25
26| Name| typedef Keyword| Description|
27| -- | -- | -- |
28| [AVSession_PlaybackPosition](capi-ohavsession-avsession-playbackposition.md) | AVSession_PlaybackPosition | Describes the information related to the playback position.|
29| [OH_AVSession](capi-ohavsession-oh-avsession.md) | OH_AVSession | Defines a struct for the playback control session object. You can use **OH_AVSession_Create** to create such an object.|
30
31### Enums
32
33| Name| typedef Keyword| Description|
34| -- | -- | -- |
35| [AVSession_Type](#avsession_type) | AVSession_Type | Enumerates the session types.|
36| [AVSession_PlaybackState](#avsession_playbackstate) | AVSession_PlaybackState | Enumerates the media playback states.|
37| [AVSession_LoopMode](#avsession_loopmode) | AVSession_LoopMode | Enumerates the loop modes of media playback.|
38| [AVSession_ControlCommand](#avsession_controlcommand) | AVSession_ControlCommand | Enumerates the playback control commands.|
39| [AVSessionCallback_Result](#avsessioncallback_result) | AVSessionCallback_Result | Enumerates the callback execution results.|
40
41### Functions
42
43| Name| typedef Keyword| Description|
44| -- | -- | -- |
45| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnCommand)(OH_AVSession* session,AVSession_ControlCommand command, void* userData)](#oh_avsessioncallback_oncommand) | OH_AVSessionCallback_OnCommand | Defines a callback for a common playback control command.|
46| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnFastForward)(OH_AVSession* session,uint32_t seekTime, void* userData)](#oh_avsessioncallback_onfastforward) | OH_AVSessionCallback_OnFastForward | Defines a callback for the fast-forward operation.|
47| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnRewind)(OH_AVSession* session,uint32_t seekTime, void* userData)](#oh_avsessioncallback_onrewind) | OH_AVSessionCallback_OnRewind | Defines a callback for the rewind operation.|
48| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnSeek)(OH_AVSession* session,uint64_t seekTime, void* userData)](#oh_avsessioncallback_onseek) | OH_AVSessionCallback_OnSeek | Defines a callback for the seek operation.|
49| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSession* session,AVSession_LoopMode curLoopMode, void* userData)](#oh_avsessioncallback_onsetloopmode) | OH_AVSessionCallback_OnSetLoopMode | Defines a callback for the operation of setting the loop mode.|
50| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnToggleFavorite)(OH_AVSession* session,const char* assetId, void* userData)](#oh_avsessioncallback_ontogglefavorite) | OH_AVSessionCallback_OnToggleFavorite | Defines a callback for the operation of favoriting a media asset.|
51| [AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag,const char* bundleName, const char* abilityName, OH_AVSession** avsession)](#oh_avsession_create) | - | Creates a session object.|
52| [AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession)](#oh_avsession_destroy) | - | Destroys a session object.|
53| [AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession)](#oh_avsession_activate) | - | Activates a session.|
54| [AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession)](#oh_avsession_deactivate) | - | Deactivates a session.|
55| [AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType)](#oh_avsession_getsessiontype) | - | Obtains the session type.|
56| [AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId)](#oh_avsession_getsessionid) | - | Obtains the session ID.|
57| [AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata)](#oh_avsession_setavmetadata) | - | Sets media metadata.|
58| [AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession,AVSession_PlaybackState playbackState)](#oh_avsession_setplaybackstate) | - | Sets the playback state.|
59| [AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession,AVSession_PlaybackPosition* playbackPosition)](#oh_avsession_setplaybackposition) | - | Sets the playback position.|
60| [AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorite)](#oh_avsession_setfavorite) | - | Favorites or unfavorites the media asset.|
61| [AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode)](#oh_avsession_setloopmode) | - | Sets a loop mode.|
62| [AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession,AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void* userData)](#oh_avsession_registercommandcallback) | - | Registers a callback for a common playback control command.|
63| [AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession,AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback)](#oh_avsession_unregistercommandcallback) | - | Unregisters the callback for a common playback control command.|
64| [AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnFastForward callback, void* userData)](#oh_avsession_registerforwardcallback) | - | Registers a callback for the fast-forward operation.|
65| [AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnFastForward callback)](#oh_avsession_unregisterforwardcallback) | - | Unregisters the callback for the fast-forward operation.|
66| [AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnRewind callback, void* userData)](#oh_avsession_registerrewindcallback) | - | Registers a callback for the rewind operation.|
67| [AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnRewind callback)](#oh_avsession_unregisterrewindcallback) | - | Unregisters the callback for the rewind operation.|
68| [AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSeek callback, void* userData)](#oh_avsession_registerseekcallback) | - | Registers a callback for the seek operation.|
69| [AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSeek callback)](#oh_avsession_unregisterseekcallback) | - | Unregisters the callback for the seek operation.|
70| [AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSetLoopMode callback, void* userData)](#oh_avsession_registersetloopmodecallback) | - | Registers a callback for the operation of setting the loop mode.|
71| [AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSetLoopMode callback)](#oh_avsession_unregistersetloopmodecallback) | - | Unregisters the callback for the operation of setting the loop mode.|
72| [AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnToggleFavorite callback, void* userData)](#oh_avsession_registertogglefavoritecallback) | - | Registers a callback for the operation of favoriting a media asset.|
73| [AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnToggleFavorite callback)](#oh_avsession_unregistertogglefavoritecallback) | - | Unregisters the callback for the operation of favoriting a media asset.|
74
75## Enums
76
77### AVSession_Type
78
79```
80enum AVSession_Type
81```
82
83**Description**
84
85Enumerates the session types.
86
87**Since**: 13
88
89| Enum Item| Description|
90| -- | -- |
91| SESSION_TYPE_AUDIO = 0 | Audio.|
92| SESSION_TYPE_VIDEO = 1 | Video.|
93| SESSION_TYPE_VOICE_CALL = 2 | Audio call.|
94| SESSION_TYPE_VIDEO_CALL = 3 | Video call.|
95
96### AVSession_PlaybackState
97
98```
99enum AVSession_PlaybackState
100```
101
102**Description**
103
104Enumerates the media playback states.
105
106**Since**: 13
107
108| Enum Item| Description|
109| -- | -- |
110| PLAYBACK_STATE_INITIAL = 0 | Initial state.|
111| PLAYBACK_STATE_PREPARING = 1 | Ready.|
112| PLAYBACK_STATE_PLAYING = 2 | Playing.|
113| PLAYBACK_STATE_PAUSED = 3 | Paused.|
114| PLAYBACK_STATE_FAST_FORWARDING = 4 | Fast-forwarding.|
115| PLAYBACK_STATE_REWINDED = 5 | Rewinded.|
116| PLAYBACK_STATE_STOPPED = 6 | Stopped.|
117| PLAYBACK_STATE_COMPLETED = 7 | Playback complete.|
118| PLAYBACK_STATE_RELEASED = 8 | Released.|
119| PLAYBACK_STATE_ERROR = 9 | Error.|
120| PLAYBACK_STATE_IDLE = 10 | Idle.|
121| PLAYBACK_STATE_BUFFERING = 11 | Buffering.|
122| PLAYBACK_STATE_MAX = 12 | Maximum value. (Error code 401 is returned in this case.)|
123
124### AVSession_LoopMode
125
126```
127enum AVSession_LoopMode
128```
129
130**Description**
131
132Enumerates the loop modes of media playback.
133
134**Since**: 13
135
136| Enum Item| Description|
137| -- | -- |
138| LOOP_MODE_SEQUENCE = 0 | Sequential playback.|
139| LOOP_MODE_SINGLE = 1 | Single loop.|
140| LOOP_MODE_LIST = 2 | Playlist loop.|
141| LOOP_MODE_SHUFFLE = 3 | Shuffle.|
142| LOOP_MODE_CUSTOM = 4 | Custom playback.|
143
144### AVSession_ControlCommand
145
146```
147enum AVSession_ControlCommand
148```
149
150**Description**
151
152Enumerates the playback control commands.
153
154**Since**: 13
155
156| Enum Item| Description|
157| -- | -- |
158| CONTROL_CMD_INVALID = -1 | Invalid control command.|
159| CONTROL_CMD_PLAY = 0 | Play command.|
160| CONTROL_CMD_PAUSE = 1 | Pause command.|
161| CONTROL_CMD_STOP = 2 | Stop command.|
162| CONTROL_CMD_PLAY_NEXT = 3 | Command for playing the next media asset.|
163| CONTROL_CMD_PLAY_PREVIOUS = 4 | Command for playing the previous media asset.|
164
165### AVSessionCallback_Result
166
167```
168enum AVSessionCallback_Result
169```
170
171**Description**
172
173Enumerates the callback execution results.
174
175**Since**: 13
176
177| Enum Item| Description|
178| -- | -- |
179| AVSESSION_CALLBACK_RESULT_SUCCESS = 0 | The operation is successful.|
180| AVSESSION_CALLBACK_RESULT_FAILURE = -1 | The operation fails.|
181
182
183## Function Description
184
185### OH_AVSessionCallback_OnCommand()
186
187```
188typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnCommand)(OH_AVSession* session,AVSession_ControlCommand command, void* userData)
189```
190
191**Description**
192
193Defines a callback for a common playback control command.
194
195**Since**: 13
196
197### OH_AVSessionCallback_OnFastForward()
198
199```
200typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnFastForward)(OH_AVSession* session,uint32_t seekTime, void* userData)
201```
202
203**Description**
204
205Defines a callback for the fast-forward operation.
206
207**Since**: 13
208
209### OH_AVSessionCallback_OnRewind()
210
211```
212typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnRewind)(OH_AVSession* session,uint32_t seekTime, void* userData)
213```
214
215**Description**
216
217Defines a callback for the rewind operation.
218
219**Since**: 13
220
221### OH_AVSessionCallback_OnSeek()
222
223```
224typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSeek)(OH_AVSession* session,uint64_t seekTime, void* userData)
225```
226
227**Description**
228
229Defines a callback for the seek operation.
230
231**Since**: 13
232
233### OH_AVSessionCallback_OnSetLoopMode()
234
235```
236typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSession* session,AVSession_LoopMode curLoopMode, void* userData)
237```
238
239**Description**
240
241Defines a callback for the operation of setting the loop mode.
242
243**Since**: 13
244
245### OH_AVSessionCallback_OnToggleFavorite()
246
247```
248typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnToggleFavorite)(OH_AVSession* session,const char* assetId, void* userData)
249```
250
251**Description**
252
253Defines a callback for the operation of favoriting a media asset.
254
255**Since**: 13
256
257### OH_AVSession_Create()
258
259```
260AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag,const char* bundleName, const char* abilityName, OH_AVSession** avsession)
261```
262
263**Description**
264
265Creates a session object.
266
267**Since**: 13
268
269
270**Parameters**
271
272| Name| Description|
273| -- | -- |
274| [AVSession_Type](capi-native-avsession-h.md#avsession_type) sessionType |  Session type. For details about the available options, see [AVSession_Type](capi-native-avsession-h.md#avsession_type).|
275| const char* sessionTag |   Pointer to the session tag.|
276| const char* bundleName |   Pointer to the bundle name.|
277| const char* abilityName |  Pointer to the ability name.|
278| [OH_AVSession](capi-ohavsession-oh-avsession.md)** avsession |    Double pointer to the session object created.|
279
280**Returns**
281
282| Type| Description|
283| -- | -- |
284| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                 1. **sessionType** is invalid.<br>                                 2. **sessionTag** is nullptr.<br>                                 3. **bundleName** is nullptr.<br>                                 4. **abilityName** is nullptr.<br>                                 5. **avsession** is nullptr.|
285
286### OH_AVSession_Destroy()
287
288```
289AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession)
290```
291
292**Description**
293
294Destroys a session object.
295
296**Since**: 13
297
298
299**Parameters**
300
301| Name| Description|
302| -- | -- |
303| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
304
305**Returns**
306
307| Type| Description|
308| -- | -- |
309| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_INVALID_PARAMETER**: **avsession** is nullptr.|
310
311### OH_AVSession_Activate()
312
313```
314AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession)
315```
316
317**Description**
318
319Activates a session.
320
321**Since**: 13
322
323
324**Parameters**
325
326| Name| Description|
327| -- | -- |
328| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
329
330**Returns**
331
332| Type| Description|
333| -- | -- |
334| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_INVALID_PARAMETER**: **avsession** is nullptr.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.|
335
336### OH_AVSession_Deactivate()
337
338```
339AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession)
340```
341
342**Description**
343
344Deactivates a session.
345
346**Since**: 13
347
348
349**Parameters**
350
351| Name| Description|
352| -- | -- |
353| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
354
355**Returns**
356
357| Type| Description|
358| -- | -- |
359| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_INVALID_PARAMETER**: **avsession** is nullptr.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.|
360
361### OH_AVSession_GetSessionType()
362
363```
364AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType)
365```
366
367**Description**
368
369Obtains the session type.
370
371**Since**: 13
372
373
374**Parameters**
375
376| Name| Description|
377| -- | -- |
378| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
379| [AVSession_Type](capi-native-avsession-h.md#avsession_type)* sessionType | Pointer to the session type obtained.|
380
381**Returns**
382
383| Type| Description|
384| -- | -- |
385| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal or an error occurs.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **sessionType** is nullptr.|
386
387### OH_AVSession_GetSessionId()
388
389```
390AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId)
391```
392
393**Description**
394
395Obtains the session ID.
396
397**Since**: 13
398
399
400**Parameters**
401
402| Name| Description|
403| -- | -- |
404| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
405| const char** sessionId | Double pointer to the session ID obtained.|
406
407**Returns**
408
409| Type| Description|
410| -- | -- |
411| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                 1. **avsession** is nullptr.<br>                                 2. **sessionId** is nullptr.|
412
413### OH_AVSession_SetAVMetadata()
414
415```
416AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata)
417```
418
419**Description**
420
421Sets media metadata.
422
423**Since**: 13
424
425
426**Parameters**
427
428| Name| Description|
429| -- | -- |
430| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
431| [OH_AVMetadata](capi-ohavsession-oh-avmetadatastruct.md)* avmetadata | Pointer to the media metadata.|
432
433**Returns**
434
435| Type| Description|
436| -- | -- |
437| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                 1. **avsession** is nullptr.<br>                                 2. **avmetadata** is nullptr.|
438
439### OH_AVSession_SetPlaybackState()
440
441```
442AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession,AVSession_PlaybackState playbackState)
443```
444
445**Description**
446
447Sets the playback state.
448
449**Since**: 13
450
451
452**Parameters**
453
454| Name| Description|
455| -- | -- |
456| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
457| [AVSession_PlaybackState](capi-native-avsession-h.md#avsession_playbackstate) playbackState | Playback state.|
458
459**Returns**
460
461| Type| Description|
462| -- | -- |
463| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **playbackState** is invalid.|
464
465### OH_AVSession_SetPlaybackPosition()
466
467```
468AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession,AVSession_PlaybackPosition* playbackPosition)
469```
470
471**Description**
472
473Sets the playback position.
474
475**Since**: 13
476
477
478**Parameters**
479
480| Name| Description|
481| -- | -- |
482| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
483| [AVSession_PlaybackPosition](capi-ohavsession-avsession-playbackposition.md)* playbackPosition | Pointer to the playback position.|
484
485**Returns**
486
487| Type| Description|
488| -- | -- |
489| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                 1. **avsession** is nullptr.<br>                                 2. **playbackPosition** is nullptr.|
490
491### OH_AVSession_SetFavorite()
492
493```
494AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorite)
495```
496
497**Description**
498
499Favorites or unfavorites the media asset.
500
501**Since**: 13
502
503
504**Parameters**
505
506| Name| Description|
507| -- | -- |
508| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
509| bool favorite | Whether to favorite or unfavorite the media asset. **true** means to favorite, **false** otherwise.|
510
511**Returns**
512
513| Type| Description|
514| -- | -- |
515| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**: **avsession** is nullptr.|
516
517### OH_AVSession_SetLoopMode()
518
519```
520AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode)
521```
522
523**Description**
524
525Sets a loop mode.
526
527**Since**: 13
528
529
530**Parameters**
531
532| Name| Description|
533| -- | -- |
534| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
535| [AVSession_LoopMode](capi-native-avsession-h.md#avsession_loopmode) loopMode | Loop mode.|
536
537**Returns**
538
539| Type| Description|
540| -- | -- |
541| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                   1. **avsession** is nullptr.<br>                                   2. **loopMode** is invalid.|
542
543### OH_AVSession_RegisterCommandCallback()
544
545```
546AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession,AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void* userData)
547```
548
549**Description**
550
551Registers a callback for a common playback control command.
552
553**Since**: 13
554
555
556**Parameters**
557
558| Name| Description|
559| -- | -- |
560| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
561| [AVSession_ControlCommand](capi-native-avsession-h.md#avsession_controlcommand) command |   Playback control command.|
562| [OH_AVSessionCallback_OnCommand](capi-native-avsession-h.md#oh_avsessioncallback_oncommand) callback |  Callback for the control command.|
563| void* userData |  Pointer to the application data passed through the callback functions.|
564
565**Returns**
566
567| Type| Description|
568| -- | -- |
569| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_CODE_COMMAND_INVALID**: The playback control command is invalid.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
570
571### OH_AVSession_UnregisterCommandCallback()
572
573```
574AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession,AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback)
575```
576
577**Description**
578
579Unregisters the callback for a common playback control command.
580
581**Since**: 13
582
583
584**Parameters**
585
586| Name| Description|
587| -- | -- |
588| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
589| [AVSession_ControlCommand](capi-native-avsession-h.md#avsession_controlcommand) command |   Playback control command.|
590| [OH_AVSessionCallback_OnCommand](capi-native-avsession-h.md#oh_avsessioncallback_oncommand) callback |  Callback for the control command.|
591
592**Returns**
593
594| Type| Description|
595| -- | -- |
596| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_CODE_COMMAND_INVALID**: The playback control command is invalid.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
597
598### OH_AVSession_RegisterForwardCallback()
599
600```
601AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnFastForward callback, void* userData)
602```
603
604**Description**
605
606Registers a callback for the fast-forward operation.
607
608**Since**: 13
609
610
611**Parameters**
612
613| Name| Description|
614| -- | -- |
615| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
616| [OH_AVSessionCallback_OnFastForward](capi-native-avsession-h.md#oh_avsessioncallback_onfastforward) callback | Callback for the fast-forward operation.|
617| void* userData | Pointer to the application data passed through the callback functions.|
618
619**Returns**
620
621| Type| Description|
622| -- | -- |
623| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
624
625### OH_AVSession_UnregisterForwardCallback()
626
627```
628AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnFastForward callback)
629```
630
631**Description**
632
633Unregisters the callback for the fast-forward operation.
634
635**Since**: 13
636
637
638**Parameters**
639
640| Name| Description|
641| -- | -- |
642| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
643| [OH_AVSessionCallback_OnFastForward](capi-native-avsession-h.md#oh_avsessioncallback_onfastforward) callback | Callback for the fast-forward operation.|
644
645**Returns**
646
647| Type| Description|
648| -- | -- |
649| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
650
651### OH_AVSession_RegisterRewindCallback()
652
653```
654AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnRewind callback, void* userData)
655```
656
657**Description**
658
659Registers a callback for the rewind operation.
660
661**Since**: 13
662
663
664**Parameters**
665
666| Name| Description|
667| -- | -- |
668| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
669| [OH_AVSessionCallback_OnRewind](capi-native-avsession-h.md#oh_avsessioncallback_onrewind) callback | Callback for the rewind operation.|
670| void* userData | Pointer to the application data passed through the callback functions.|
671
672**Returns**
673
674| Type| Description|
675| -- | -- |
676| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
677
678### OH_AVSession_UnregisterRewindCallback()
679
680```
681AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnRewind callback)
682```
683
684**Description**
685
686Unregisters the callback for the rewind operation.
687
688**Since**: 13
689
690
691**Parameters**
692
693| Name| Description|
694| -- | -- |
695| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
696| [OH_AVSessionCallback_OnRewind](capi-native-avsession-h.md#oh_avsessioncallback_onrewind) callback | Callback for the rewind operation.|
697
698**Returns**
699
700| Type| Description|
701| -- | -- |
702| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
703
704### OH_AVSession_RegisterSeekCallback()
705
706```
707AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSeek callback, void* userData)
708```
709
710**Description**
711
712Registers a callback for the seek operation.
713
714**Since**: 13
715
716
717**Parameters**
718
719| Name| Description|
720| -- | -- |
721| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
722| [OH_AVSessionCallback_OnSeek](capi-native-avsession-h.md#oh_avsessioncallback_onseek) callback | Callback for the seek operation.|
723| void* userData | Pointer to the application data passed through the callback functions.|
724
725**Returns**
726
727| Type| Description|
728| -- | -- |
729| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
730
731### OH_AVSession_UnregisterSeekCallback()
732
733```
734AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSeek callback)
735```
736
737**Description**
738
739Unregisters the callback for the seek operation.
740
741**Since**: 13
742
743
744**Parameters**
745
746| Name| Description|
747| -- | -- |
748| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
749| [OH_AVSessionCallback_OnSeek](capi-native-avsession-h.md#oh_avsessioncallback_onseek) callback | Callback for the seek operation.|
750
751**Returns**
752
753| Type| Description|
754| -- | -- |
755| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
756
757### OH_AVSession_RegisterSetLoopModeCallback()
758
759```
760AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSetLoopMode callback, void* userData)
761```
762
763**Description**
764
765Registers a callback for the operation of setting the loop mode.
766
767**Since**: 13
768
769
770**Parameters**
771
772| Name| Description|
773| -- | -- |
774| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
775| [OH_AVSessionCallback_OnSetLoopMode](capi-native-avsession-h.md#oh_avsessioncallback_onsetloopmode) callback | Callback for the operation of setting the loop mode.|
776| void* userData | Pointer to the application data passed through the callback functions.|
777
778**Returns**
779
780| Type| Description|
781| -- | -- |
782| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
783
784### OH_AVSession_UnregisterSetLoopModeCallback()
785
786```
787AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSetLoopMode callback)
788```
789
790**Description**
791
792Unregisters the callback for the operation of setting the loop mode.
793
794**Since**: 13
795
796
797**Parameters**
798
799| Name| Description|
800| -- | -- |
801| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
802| [OH_AVSessionCallback_OnSetLoopMode](capi-native-avsession-h.md#oh_avsessioncallback_onsetloopmode) callback | Callback for the operation of setting the loop mode.|
803
804**Returns**
805
806| Type| Description|
807| -- | -- |
808| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
809
810### OH_AVSession_RegisterToggleFavoriteCallback()
811
812```
813AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnToggleFavorite callback, void* userData)
814```
815
816**Description**
817
818Registers a callback for the operation of favoriting a media asset.
819
820**Since**: 13
821
822
823**Parameters**
824
825| Name| Description|
826| -- | -- |
827| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
828| [OH_AVSessionCallback_OnToggleFavorite](capi-native-avsession-h.md#oh_avsessioncallback_ontogglefavorite) callback | Callback for the operation of favoriting a media asset.|
829| void* userData | Pointer to the application data passed through the callback functions.|
830
831**Returns**
832
833| Type| Description|
834| -- | -- |
835| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
836
837### OH_AVSession_UnregisterToggleFavoriteCallback()
838
839```
840AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnToggleFavorite callback)
841```
842
843**Description**
844
845Unregisters the callback for the operation of favoriting a media asset.
846
847**Since**: 13
848
849
850**Parameters**
851
852| Name| Description|
853| -- | -- |
854| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | Pointer to a session object.|
855| [OH_AVSessionCallback_OnToggleFavorite](capi-native-avsession-h.md#oh_avsessioncallback_ontogglefavorite) callback | Callback for the operation of favoriting a media asset.|
856
857**Returns**
858
859| Type| Description|
860| -- | -- |
861| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | **AV_SESSION_ERR_SUCCESS**: The function is executed successfully.<br> **AV_SESSION_ERR_SERVICE_EXCEPTION**: The session service is abnormal.<br> **AV_SESSION_ERR_INVALID_PARAMETER**:<br>                                  1. **avsession** is nullptr.<br>                                  2. **callback** is nullptr.|
862