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