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