• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_avsession.h
2<!--Kit: AVSession Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @ccfriend; @liao_qian-->
5<!--Designer: @ccfriend-->
6<!--Tester: @chenmingxi1_huawei-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11媒体会话定义,可用于设置元数据、播放状态信息等操作。
12
13**引用文件:** <multimedia/av_session/native_avsession.h>
14
15**库:** libohavsession.so
16
17**系统能力:** SystemCapability.Multimedia.AVSession.Core
18
19**起始版本:** 13
20
21**相关模块:** [OHAVSession](capi-ohavsession.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [AVSession_PlaybackPosition](capi-ohavsession-avsession-playbackposition.md) | AVSession_PlaybackPosition | 媒体播放位置的相关属性。 |
30| [OH_AVSession](capi-ohavsession-oh-avsession.md) | OH_AVSession | 播控会话对象定义。可以用OH_AVSession_Create创建一个会话对象。 |
31
32### 枚举
33
34| 名称 | typedef关键字 | 描述 |
35| -- | -- | -- |
36| [AVSession_Type](#avsession_type) | AVSession_Type | 会话类型。 |
37| [AVSession_PlaybackState](#avsession_playbackstate) | AVSession_PlaybackState | 媒体播放状态的相关属性。 |
38| [AVSession_LoopMode](#avsession_loopmode) | AVSession_LoopMode | 媒体播放循环模式。 |
39| [AVSession_ControlCommand](#avsession_controlcommand) | AVSession_ControlCommand | 播控命令。 |
40| [AVSessionCallback_Result](#avsessioncallback_result) | AVSessionCallback_Result | 回调执行的结果。 |
41
42### 函数
43
44| 名称 | typedef关键字 | 描述 |
45| -- | -- | -- |
46| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnCommand)(OH_AVSession* session, AVSession_ControlCommand command, void* userData)](#oh_avsessioncallback_oncommand) | OH_AVSessionCallback_OnCommand | 通用的执行播控命令的回调。 |
47| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnFastForward)(OH_AVSession* session, uint32_t seekTime, void* userData)](#oh_avsessioncallback_onfastforward) | OH_AVSessionCallback_OnFastForward | 快进的回调。 |
48| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnRewind)(OH_AVSession* session, uint32_t seekTime, void* userData)](#oh_avsessioncallback_onrewind) | OH_AVSessionCallback_OnRewind | 快退的回调。 |
49| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnSeek)(OH_AVSession* session, uint64_t seekTime, void* userData)](#oh_avsessioncallback_onseek) | OH_AVSessionCallback_OnSeek | 进度调节的回调。 |
50| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSession* session, AVSession_LoopMode curLoopMode, void* userData)](#oh_avsessioncallback_onsetloopmode) | OH_AVSessionCallback_OnSetLoopMode | 设置循环模式的回调。 |
51| [typedef AVSessionCallback_Result (\*OH_AVSessionCallback_OnToggleFavorite)(OH_AVSession* session, const char* assetId, void* userData)](#oh_avsessioncallback_ontogglefavorite) | OH_AVSessionCallback_OnToggleFavorite | 收藏的回调。 |
52| [AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag, const char* bundleName, const char* abilityName, OH_AVSession** avsession)](#oh_avsession_create) | - | 创建会话对象。 |
53| [AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession)](#oh_avsession_destroy) | - | 销毁会话对象。 |
54| [AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession)](#oh_avsession_activate) | - | 激活会话。 |
55| [AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession)](#oh_avsession_deactivate) | - | 取消激活媒体会话。 |
56| [AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType)](#oh_avsession_getsessiontype) | - | 获取会话类型。 |
57| [AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId)](#oh_avsession_getsessionid) | - | 获取会话id。 |
58| [AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata)](#oh_avsession_setavmetadata) | - | 设置媒体元数据。 |
59| [AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession, AVSession_PlaybackState playbackState)](#oh_avsession_setplaybackstate) | - | 设置播放状态。 |
60| [AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession, AVSession_PlaybackPosition* playbackPosition)](#oh_avsession_setplaybackposition) | - | 设置播放位置。 |
61| [AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorite)](#oh_avsession_setfavorite) | - | 设置收藏状态。 |
62| [AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode)](#oh_avsession_setloopmode) | - | 设置循环模式。 |
63| [AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void* userData)](#oh_avsession_registercommandcallback) | - | 注册通用播控的回调。 |
64| [AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback)](#oh_avsession_unregistercommandcallback) | - | 取消注册通用播控的回调。 |
65| [AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnFastForward callback, void* userData)](#oh_avsession_registerforwardcallback) | - | 注册快进的回调。 |
66| [AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnFastForward callback)](#oh_avsession_unregisterforwardcallback) | - | 取消注册快进的回调。 |
67| [AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnRewind callback, void* userData)](#oh_avsession_registerrewindcallback) | - | 注册快退的回调。 |
68| [AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnRewind callback)](#oh_avsession_unregisterrewindcallback) | - | 取消注册快退的回调。 |
69| [AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSeek callback, void* userData)](#oh_avsession_registerseekcallback) | - | 注册跳转的回调。 |
70| [AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSeek callback)](#oh_avsession_unregisterseekcallback) | - | 取消注册跳转的回调。 |
71| [AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSetLoopMode callback, void* userData)](#oh_avsession_registersetloopmodecallback) | - | 注册设置循环模式的回调。 |
72| [AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSetLoopMode callback)](#oh_avsession_unregistersetloopmodecallback) | - | 取消注册设置循环模式的回调。 |
73| [AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnToggleFavorite callback, void* userData)](#oh_avsession_registertogglefavoritecallback) | - | 设置收藏的回调。 |
74| [AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnToggleFavorite callback)](#oh_avsession_unregistertogglefavoritecallback) | - | 取消设置收藏的回调。 |
75
76## 枚举类型说明
77
78### AVSession_Type
79
80```
81enum AVSession_Type
82```
83
84**描述**
85
86会话类型。
87
88**起始版本:** 13
89
90| 枚举项 | 描述 |
91| -- | -- |
92| SESSION_TYPE_AUDIO = 0 | 音频。 |
93| SESSION_TYPE_VIDEO = 1 | 视频。 |
94| SESSION_TYPE_VOICE_CALL = 2 | 音频通话。 |
95| SESSION_TYPE_VIDEO_CALL = 3 | 视频通话。 |
96
97### AVSession_PlaybackState
98
99```
100enum AVSession_PlaybackState
101```
102
103**描述**
104
105媒体播放状态的相关属性。
106
107**起始版本:** 13
108
109| 枚举项 | 描述 |
110| -- | -- |
111| PLAYBACK_STATE_INITIAL = 0 | 初始状态。 |
112| PLAYBACK_STATE_PREPARING = 1 | 准备状态。 |
113| PLAYBACK_STATE_PLAYING = 2 | 正在播放。 |
114| PLAYBACK_STATE_PAUSED = 3 | 暂停。 |
115| PLAYBACK_STATE_FAST_FORWARDING = 4 | 快进。 |
116| PLAYBACK_STATE_REWINDED = 5 | 快退。 |
117| PLAYBACK_STATE_STOPPED = 6 | 停止。 |
118| PLAYBACK_STATE_COMPLETED = 7 | 播放完成。 |
119| PLAYBACK_STATE_RELEASED = 8 | 释放。 |
120| PLAYBACK_STATE_ERROR = 9 | 错误。 |
121| PLAYBACK_STATE_IDLE = 10 | 空闲。 |
122| PLAYBACK_STATE_BUFFERING = 11 | 缓冲。 |
123| PLAYBACK_STATE_MAX = 12 | 最大状态。(当state为12时,返回错误码401) |
124
125### AVSession_LoopMode
126
127```
128enum AVSession_LoopMode
129```
130
131**描述**
132
133媒体播放循环模式。
134
135**起始版本:** 13
136
137| 枚举项 | 描述 |
138| -- | -- |
139| LOOP_MODE_SEQUENCE = 0 | 顺序播放。 |
140| LOOP_MODE_SINGLE = 1 | 单曲循环。 |
141| LOOP_MODE_LIST = 2 | 表单循环。 |
142| LOOP_MODE_SHUFFLE = 3 | 随机播放。 |
143| LOOP_MODE_CUSTOM = 4 | 自定义播放。 |
144
145### AVSession_ControlCommand
146
147```
148enum AVSession_ControlCommand
149```
150
151**描述**
152
153播控命令。
154
155**起始版本:** 13
156
157| 枚举项 | 描述 |
158| -- | -- |
159| CONTROL_CMD_INVALID = -1 | 无效控制命令。 |
160| CONTROL_CMD_PLAY = 0 | 播放命令。 |
161| CONTROL_CMD_PAUSE = 1 | 暂停命令。 |
162| CONTROL_CMD_STOP = 2 | 停止命令。 |
163| CONTROL_CMD_PLAY_NEXT = 3 | 播放下一首命令。 |
164| CONTROL_CMD_PLAY_PREVIOUS = 4 | 播放上一首命令。 |
165
166### AVSessionCallback_Result
167
168```
169enum AVSessionCallback_Result
170```
171
172**描述**
173
174回调执行的结果。
175
176**起始版本:** 13
177
178| 枚举项 | 描述 |
179| -- | -- |
180| AVSESSION_CALLBACK_RESULT_SUCCESS = 0 | 执行成功。 |
181| AVSESSION_CALLBACK_RESULT_FAILURE = -1 | 执行失败。 |
182
183
184## 函数说明
185
186### OH_AVSessionCallback_OnCommand()
187
188```
189typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnCommand)(OH_AVSession* session,AVSession_ControlCommand command, void* userData)
190```
191
192**描述**
193
194通用的执行播控命令的回调。
195
196**起始版本:** 13
197
198### OH_AVSessionCallback_OnFastForward()
199
200```
201typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnFastForward)(OH_AVSession* session,uint32_t seekTime, void* userData)
202```
203
204**描述**
205
206快进的回调。
207
208**起始版本:** 13
209
210### OH_AVSessionCallback_OnRewind()
211
212```
213typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnRewind)(OH_AVSession* session,uint32_t seekTime, void* userData)
214```
215
216**描述**
217
218快退的回调。
219
220**起始版本:** 13
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### OH_AVSessionCallback_OnSetLoopMode()
235
236```
237typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSession* session,AVSession_LoopMode curLoopMode, void* userData)
238```
239
240**描述**
241
242设置循环模式的回调。
243
244**起始版本:** 13
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### OH_AVSession_Create()
259
260```
261AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag,const char* bundleName, const char* abilityName, OH_AVSession** avsession)
262```
263
264**描述**
265
266创建会话对象。
267
268**起始版本:** 13
269
270
271**参数:**
272
273| 参数项 | 描述 |
274| -- | -- |
275| [AVSession_Type](capi-native-avsession-h.md#avsession_type) sessionType |  会话类型[AVSession_Type](capi-native-avsession-h.md#avsession_type)。 |
276| const char* sessionTag |   会话标签。 |
277| const char* bundleName |   创建会话的包名。 |
278| const char* abilityName |  创建会话的ability名。 |
279| [OH_AVSession](capi-ohavsession-oh-avsession.md)** avsession |    返回的媒体会话对象。 |
280
281**返回:**
282
283| 类型 | 说明 |
284| -- | -- |
285| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                 1.参数sessionType无效。<br>                                 2.参数sessionTag为nullptr。<br>                                 3.参数bundleName为nullptr。<br>                                 4.参数abilityName为nullptr。<br>                                 5.参数avsession为nullptr。 |
286
287### OH_AVSession_Destroy()
288
289```
290AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession)
291```
292
293**描述**
294
295销毁会话对象。
296
297**起始版本:** 13
298
299
300**参数:**
301
302| 参数项 | 描述 |
303| -- | -- |
304| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
305
306**返回:**
307
308| 类型 | 说明 |
309| -- | -- |
310| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。 |
311
312### OH_AVSession_Activate()
313
314```
315AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession)
316```
317
318**描述**
319
320激活会话。
321
322**起始版本:** 13
323
324
325**参数:**
326
327| 参数项 | 描述 |
328| -- | -- |
329| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
330
331**返回:**
332
333| 类型 | 说明 |
334| -- | -- |
335| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。 |
336
337### OH_AVSession_Deactivate()
338
339```
340AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession)
341```
342
343**描述**
344
345取消激活媒体会话。
346
347**起始版本:** 13
348
349
350**参数:**
351
352| 参数项 | 描述 |
353| -- | -- |
354| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
355
356**返回:**
357
358| 类型 | 说明 |
359| -- | -- |
360| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。 |
361
362### OH_AVSession_GetSessionType()
363
364```
365AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType)
366```
367
368**描述**
369
370获取会话类型。
371
372**起始版本:** 13
373
374
375**参数:**
376
377| 参数项 | 描述 |
378| -- | -- |
379| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
380| [AVSession_Type](capi-native-avsession-h.md#avsession_type)* sessionType | 返回的会话类型。 |
381
382**返回:**
383
384| 类型 | 说明 |
385| -- | -- |
386| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常,获取session type错误。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数sessionType为nullptr。 |
387
388### OH_AVSession_GetSessionId()
389
390```
391AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId)
392```
393
394**描述**
395
396获取会话id。
397
398**起始版本:** 13
399
400
401**参数:**
402
403| 参数项 | 描述 |
404| -- | -- |
405| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
406| const char** sessionId | 返回的会话类型id。 |
407
408**返回:**
409
410| 类型 | 说明 |
411| -- | -- |
412| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                 1.参数avsession为nullptr。<br>                                 2.参数sessionId为nullptr。 |
413
414### OH_AVSession_SetAVMetadata()
415
416```
417AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata)
418```
419
420**描述**
421
422设置媒体元数据。
423
424**起始版本:** 13
425
426
427**参数:**
428
429| 参数项 | 描述 |
430| -- | -- |
431| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
432| [OH_AVMetadata](capi-ohavsession-oh-avmetadatastruct.md)* avmetadata | 设置媒体元数据信息。 |
433
434**返回:**
435
436| 类型 | 说明 |
437| -- | -- |
438| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                 1.参数avsession为nullptr。<br>                                 2.参数avmetadata为nullptr。 |
439
440### OH_AVSession_SetPlaybackState()
441
442```
443AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession,AVSession_PlaybackState playbackState)
444```
445
446**描述**
447
448设置播放状态。
449
450**起始版本:** 13
451
452
453**参数:**
454
455| 参数项 | 描述 |
456| -- | -- |
457| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
458| [AVSession_PlaybackState](capi-native-avsession-h.md#avsession_playbackstate) playbackState | 播放状态。 |
459
460**返回:**
461
462| 类型 | 说明 |
463| -- | -- |
464| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数playbackState无效。 |
465
466### OH_AVSession_SetPlaybackPosition()
467
468```
469AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession,AVSession_PlaybackPosition* playbackPosition)
470```
471
472**描述**
473
474设置播放位置。
475
476**起始版本:** 13
477
478
479**参数:**
480
481| 参数项 | 描述 |
482| -- | -- |
483| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
484| [AVSession_PlaybackPosition](capi-ohavsession-avsession-playbackposition.md)* playbackPosition | 播放位置对象。 |
485
486**返回:**
487
488| 类型 | 说明 |
489| -- | -- |
490| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                 1.参数avsession为nullptr。<br>                                 2.参数playbackPosition为nullptr。 |
491
492### OH_AVSession_SetFavorite()
493
494```
495AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorite)
496```
497
498**描述**
499
500设置收藏状态。
501
502**起始版本:** 13
503
504
505**参数:**
506
507| 参数项 | 描述 |
508| -- | -- |
509| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
510| bool favorite | 收藏状态,true表示收藏,false表示取消收藏。 |
511
512**返回:**
513
514| 类型 | 说明 |
515| -- | -- |
516| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。 |
517
518### OH_AVSession_SetLoopMode()
519
520```
521AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode)
522```
523
524**描述**
525
526设置循环模式。
527
528**起始版本:** 13
529
530
531**参数:**
532
533| 参数项 | 描述 |
534| -- | -- |
535| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
536| [AVSession_LoopMode](capi-native-avsession-h.md#avsession_loopmode) loopMode | 循环模式。 |
537
538**返回:**
539
540| 类型 | 说明 |
541| -- | -- |
542| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                   1.参数avsession为nullptr。<br>                                   2.参数loopMode无效。 |
543
544### OH_AVSession_RegisterCommandCallback()
545
546```
547AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession,AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void* userData)
548```
549
550**描述**
551
552注册通用播控的回调。
553
554**起始版本:** 13
555
556
557**参数:**
558
559| 参数项 | 描述 |
560| -- | -- |
561| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
562| [AVSession_ControlCommand](capi-native-avsession-h.md#avsession_controlcommand) command |   播控的控制命令。 |
563| [OH_AVSessionCallback_OnCommand](capi-native-avsession-h.md#oh_avsessioncallback_oncommand) callback |  控制命令的回调。 |
564| void* userData |  指向通过回调函数传递的应用数据指针。 |
565
566**返回:**
567
568| 类型 | 说明 |
569| -- | -- |
570| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_CODE_COMMAND_INVALID:控制命令无效。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
571
572### OH_AVSession_UnregisterCommandCallback()
573
574```
575AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession,AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback)
576```
577
578**描述**
579
580取消注册通用播控的回调。
581
582**起始版本:** 13
583
584
585**参数:**
586
587| 参数项 | 描述 |
588| -- | -- |
589| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
590| [AVSession_ControlCommand](capi-native-avsession-h.md#avsession_controlcommand) command |   播控的控制命令。 |
591| [OH_AVSessionCallback_OnCommand](capi-native-avsession-h.md#oh_avsessioncallback_oncommand) callback |  控制命令的回调。 |
592
593**返回:**
594
595| 类型 | 说明 |
596| -- | -- |
597| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_CODE_COMMAND_INVALID:控制命令无效。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
598
599### OH_AVSession_RegisterForwardCallback()
600
601```
602AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnFastForward callback, void* userData)
603```
604
605**描述**
606
607注册快进的回调。
608
609**起始版本:** 13
610
611
612**参数:**
613
614| 参数项 | 描述 |
615| -- | -- |
616| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
617| [OH_AVSessionCallback_OnFastForward](capi-native-avsession-h.md#oh_avsessioncallback_onfastforward) callback | 快进命令的回调。 |
618| void* userData | 指向通过回调函数传递的应用数据指针。 |
619
620**返回:**
621
622| 类型 | 说明 |
623| -- | -- |
624| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
625
626### OH_AVSession_UnregisterForwardCallback()
627
628```
629AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnFastForward callback)
630```
631
632**描述**
633
634取消注册快进的回调。
635
636**起始版本:** 13
637
638
639**参数:**
640
641| 参数项 | 描述 |
642| -- | -- |
643| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
644| [OH_AVSessionCallback_OnFastForward](capi-native-avsession-h.md#oh_avsessioncallback_onfastforward) callback | 快进命令的回调。 |
645
646**返回:**
647
648| 类型 | 说明 |
649| -- | -- |
650| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
651
652### OH_AVSession_RegisterRewindCallback()
653
654```
655AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnRewind callback, void* userData)
656```
657
658**描述**
659
660注册快退的回调。
661
662**起始版本:** 13
663
664
665**参数:**
666
667| 参数项 | 描述 |
668| -- | -- |
669| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
670| [OH_AVSessionCallback_OnRewind](capi-native-avsession-h.md#oh_avsessioncallback_onrewind) callback | 快退命令的回调。 |
671| void* userData | 指向通过回调函数传递的应用数据指针。 |
672
673**返回:**
674
675| 类型 | 说明 |
676| -- | -- |
677| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
678
679### OH_AVSession_UnregisterRewindCallback()
680
681```
682AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnRewind callback)
683```
684
685**描述**
686
687取消注册快退的回调。
688
689**起始版本:** 13
690
691
692**参数:**
693
694| 参数项 | 描述 |
695| -- | -- |
696| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
697| [OH_AVSessionCallback_OnRewind](capi-native-avsession-h.md#oh_avsessioncallback_onrewind) callback | 快退命令的回调。 |
698
699**返回:**
700
701| 类型 | 说明 |
702| -- | -- |
703| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
704
705### OH_AVSession_RegisterSeekCallback()
706
707```
708AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSeek callback, void* userData)
709```
710
711**描述**
712
713注册跳转的回调。
714
715**起始版本:** 13
716
717
718**参数:**
719
720| 参数项 | 描述 |
721| -- | -- |
722| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
723| [OH_AVSessionCallback_OnSeek](capi-native-avsession-h.md#oh_avsessioncallback_onseek) callback | 跳转命令的回调。 |
724| void* userData | 指向通过回调函数传递的应用数据指针。 |
725
726**返回:**
727
728| 类型 | 说明 |
729| -- | -- |
730| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
731
732### OH_AVSession_UnregisterSeekCallback()
733
734```
735AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSeek callback)
736```
737
738**描述**
739
740取消注册跳转的回调。
741
742**起始版本:** 13
743
744
745**参数:**
746
747| 参数项 | 描述 |
748| -- | -- |
749| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
750| [OH_AVSessionCallback_OnSeek](capi-native-avsession-h.md#oh_avsessioncallback_onseek) callback | 跳转命令的回调。 |
751
752**返回:**
753
754| 类型 | 说明 |
755| -- | -- |
756| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
757
758### OH_AVSession_RegisterSetLoopModeCallback()
759
760```
761AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSetLoopMode callback, void* userData)
762```
763
764**描述**
765
766注册设置循环模式的回调。
767
768**起始版本:** 13
769
770
771**参数:**
772
773| 参数项 | 描述 |
774| -- | -- |
775| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
776| [OH_AVSessionCallback_OnSetLoopMode](capi-native-avsession-h.md#oh_avsessioncallback_onsetloopmode) callback | 设置循环模式命令的回调。 |
777| void* userData | 指向通过回调函数传递的应用数据指针。 |
778
779**返回:**
780
781| 类型 | 说明 |
782| -- | -- |
783| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
784
785### OH_AVSession_UnregisterSetLoopModeCallback()
786
787```
788AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnSetLoopMode callback)
789```
790
791**描述**
792
793取消注册设置循环模式的回调。
794
795**起始版本:** 13
796
797
798**参数:**
799
800| 参数项 | 描述 |
801| -- | -- |
802| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
803| [OH_AVSessionCallback_OnSetLoopMode](capi-native-avsession-h.md#oh_avsessioncallback_onsetloopmode) callback | 设置循环模式命令的回调。 |
804
805**返回:**
806
807| 类型 | 说明 |
808| -- | -- |
809| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
810
811### OH_AVSession_RegisterToggleFavoriteCallback()
812
813```
814AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnToggleFavorite callback, void* userData)
815```
816
817**描述**
818
819设置收藏的回调。
820
821**起始版本:** 13
822
823
824**参数:**
825
826| 参数项 | 描述 |
827| -- | -- |
828| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
829| [OH_AVSessionCallback_OnToggleFavorite](capi-native-avsession-h.md#oh_avsessioncallback_ontogglefavorite) callback | 设置收藏命令的回调。 |
830| void* userData | 指向通过回调函数传递的应用数据指针。 |
831
832**返回:**
833
834| 类型 | 说明 |
835| -- | -- |
836| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
837
838### OH_AVSession_UnregisterToggleFavoriteCallback()
839
840```
841AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession,OH_AVSessionCallback_OnToggleFavorite callback)
842```
843
844**描述**
845
846取消设置收藏的回调。
847
848**起始版本:** 13
849
850
851**参数:**
852
853| 参数项 | 描述 |
854| -- | -- |
855| [OH_AVSession](capi-ohavsession-oh-avsession.md)* avsession | 媒体会话对象。 |
856| [OH_AVSessionCallback_OnToggleFavorite](capi-native-avsession-h.md#oh_avsessioncallback_ontogglefavorite) callback | 设置收藏命令的回调。 |
857
858**返回:**
859
860| 类型 | 说明 |
861| -- | -- |
862| [AVSession_ErrCode](capi-native-avsession-errors-h.md#avsession_errcode) | AV_SESSION_ERR_SUCCESS:函数执行成功。<br> AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。<br> AV_SESSION_ERR_INVALID_PARAMETER:<br>                                  1.参数avsession为nullptr。<br>                                  2.参数callback为nullptr。 |
863
864
865