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