harmony 鸿蒙OHAVSession

  • 2025-06-12
  • 浏览 (5)

OHAVSession

概述

提供播控模块C接口定义。

开发者可使用OHAVSession,作为媒体会话提供方接入AVSession服务,对应的开发指南及样例可参考媒体会话提供方

系统能力: SystemCapability.Multimedia.AVSession.Core

起始版本: 13

汇总

文件

名称 描述
native_avmetadata.h 提供播控元数据的定义。
native_avsession.h 媒体会话定义,可用于设置元数据、播放状态信息等操作。
native_avsession_errors.h 提供播控错误码的定义。

结构体

名称 描述
struct AVSession_PlaybackPosition 媒体播放位置的相关属性。

类型定义

名称 描述
typedef struct OH_AVMetadataBuilderStruct OH_AVMetadataBuilder 会话元数据构造器。构造器用于构造会话元数据。
typedef struct OH_AVMetadataStruct OH_AVMetadata 会话元数据。资源设置的avmetadata的实例。
typedef struct AVSession_PlaybackPosition AVSession_PlaybackPosition 媒体播放位置的相关属性。
typedef enum AVSession_ControlCommand AVSession_ControlCommand 播控命令。
typedef AVSessionCallback_Result(* OH_AVSessionCallback_OnCommand) (OH_AVSession *session, AVSession_ControlCommand command, void *userData) 通用的执行播控命令的回调。
typedef AVSessionCallback_Result(* OH_AVSessionCallback_OnFastForward) (OH_AVSession *session, uint32_t seekTime, void *userData) 快进的回调。
typedef AVSessionCallback_Result(* OH_AVSessionCallback_OnRewind) (OH_AVSession *session, uint32_t seekTime, void *userData) 快退的回调。
typedef AVSessionCallback_Result(* OH_AVSessionCallback_OnSeek) (OH_AVSession *session, uint64_t seekTime, void *userData) 进度调节的回调。
typedef AVSessionCallback_Result(* OH_AVSessionCallback_OnSetLoopMode) (OH_AVSession *session, AVSession_LoopMode curLoopMode, void *userData) 设置循环模式的回调。
typedef AVSessionCallback_Result(* OH_AVSessionCallback_OnToggleFavorite) (OH_AVSession *session, const char *assetId, void *userData) 收藏的回调。
typedef struct OH_AVSession OH_AVSession 播控会话对象定义。

枚举

名称 描述
AVMetadata_Result {
AVMETADATA_SUCCESS = 0,
AVMETADATA_ERROR_INVALID_PARAM = 1,
AVMETADATA_ERROR_NO_MEMORY = 2 }
元数据操作的错误码。
AVMetadata_SkipIntervals {
SECONDS_10 = 10,
SECONDS_15 = 15,
SECONDS_30 = 30 }
表示session支持的快进快退时间间隔。
AVMetadata_DisplayTag { AVSESSION_DISPLAYTAG_AUDIO_VIVID = 1 } 应用媒体音源的特殊类型标识。
AVSession_Type {
SESSION_TYPE_AUDIO = 0,
SESSION_TYPE_VIDEO = 1,
SESSION_TYPE_VOICE_CALL = 2,
SESSION_TYPE_VIDEO_CALL = 3 }
会话类型。
AVSession_PlaybackState {
PLAYBACK_STATE_INITIAL = 0,
PLAYBACK_STATE_PREPARING = 1,
PLAYBACK_STATE_PLAYING = 2,
PLAYBACK_STATE_PAUSED = 3,
PLAYBACK_STATE_FAST_FORWARDING = 4,
PLAYBACK_STATE_REWINDED = 5,
PLAYBACK_STATE_STOPPED = 6,
PLAYBACK_STATE_COMPLETED = 7,
PLAYBACK_STATE_RELEASED = 8,
PLAYBACK_STATE_ERROR = 9,
PLAYBACK_STATE_IDLE = 10,
PLAYBACK_STATE_BUFFERING = 11,
PLAYBACK_STATE_MAX = 12
}
媒体播放状态的相关属性。
AVSession_LoopMode {
LOOP_MODE_SEQUENCE = 0,
LOOP_MODE_SINGLE = 1,
LOOP_MODE_LIST = 2,
LOOP_MODE_SHUFFLE = 3,
LOOP_MODE_CUSTOM = 4
}
媒体播放循环模式。
AVSession_ControlCommand {
CONTROL_CMD_INVALID = -1,
CONTROL_CMD_PLAY = 0,
CONTROL_CMD_PAUSE = 1,
CONTROL_CMD_STOP = 2,
CONTROL_CMD_PLAY_NEXT = 3,
CONTROL_CMD_PLAY_PREVIOUS = 4
}
播控命令。
AVSessionCallback_Result {
AVSESSION_CALLBACK_RESULT_SUCCESS = 0,
AVSESSION_CALLBACK_RESULT_FAILURE = -1 }
回调执行的结果。
AVSession_ErrCode {
AV_SESSION_ERR_SUCCESS = 0,
AV_SESSION_ERR_INVALID_PARAMETER = 401,
AV_SESSION_ERR_SERVICE_EXCEPTION = 6600101,
AV_SESSION_ERR_CODE_SESSION_NOT_EXIST = 6600102,
AV_SESSION_ERR_CODE_COMMAND_INVALID = 6600105,
AV_SESSION_ERR_CODE_SESSION_INACTIVE = 6600106,
AV_SESSION_ERR_CODE_MESSAGE_OVERLOAD = 6600107
}
播控错误码。

函数

名称 描述
AVMetadata_Result OH_AVMetadataBuilder_Create (OH_AVMetadataBuilder **builder) 创建一个元数据构造器。
AVMetadata_Result OH_AVMetadataBuilder_Destroy (OH_AVMetadataBuilder *builder) 销毁元数据构造器。
AVMetadata_Result OH_AVMetadataBuilder_SetAssetId (OH_AVMetadataBuilder *builder, const char *assetId) 设置当前媒体资源id。
AVMetadata_Result OH_AVMetadataBuilder_SetTitle (OH_AVMetadataBuilder *builder, const char *title) 设置资源标题。
AVMetadata_Result OH_AVMetadataBuilder_SetArtist (OH_AVMetadataBuilder *builder, const char *artist) 设置资源所属的艺术家。
AVMetadata_Result OH_AVMetadataBuilder_SetAuthor (OH_AVMetadataBuilder *builder, const char *author) 设置资源的作者。
AVMetadata_Result OH_AVMetadataBuilder_SetAlbum (OH_AVMetadataBuilder *builder, const char *album) 设置资源专辑名称。
AVMetadata_Result OH_AVMetadataBuilder_SetWriter (OH_AVMetadataBuilder *builder, const char *writer) 设置资源词作者。
AVMetadata_Result OH_AVMetadataBuilder_SetComposer (OH_AVMetadataBuilder *builder, const char *composer) 设置资源作曲者。
AVMetadata_Result OH_AVMetadataBuilder_SetDuration (OH_AVMetadataBuilder *builder, int64_t duration) 设置资源播放时长。
AVMetadata_Result OH_AVMetadataBuilder_SetMediaImageUri (OH_AVMetadataBuilder *builder, const char *mediaImageUri) 设置媒体图片数据。
AVMetadata_Result OH_AVMetadataBuilder_SetSubtitle (OH_AVMetadataBuilder *builder, const char *subtitle) 设置副标题。
AVMetadata_Result OH_AVMetadataBuilder_SetDescription (OH_AVMetadataBuilder *builder, const char *description) 设置媒体描述信息。
AVMetadata_Result OH_AVMetadataBuilder_SetLyric (OH_AVMetadataBuilder *builder, const char *lyric) 设置歌词。
AVMetadata_Result OH_AVMetadataBuilder_SetSkipIntervals (OH_AVMetadataBuilder *builder, AVMetadata_SkipIntervals intervals) 设置资源的跳转的间隔时间。
AVMetadata_Result OH_AVMetadataBuilder_SetDisplayTags (OH_AVMetadataBuilder *builder, int32_t tags) 设置媒体资源的金标类型。
AVMetadata_Result OH_AVMetadataBuilder_GenerateAVMetadata (OH_AVMetadataBuilder *builder, OH_AVMetadata **avMetadata) 生成媒体元数据对象。
AVMetadata_Result OH_AVMetadata_Destroy (OH_AVMetadata *avMetadata) 释放媒体元数据对象。
AVSession_ErrCode OH_AVSession_Create (AVSession_Type sessionType, const char *sessionTag, const char *bundleName, const char *abilityName, OH_AVSession **avsession) 创建会话对象。
AVSession_ErrCode OH_AVSession_Destroy (OH_AVSession *avsession) 销毁会话对象。
AVSession_ErrCode OH_AVSession_Activate (OH_AVSession *avsession) 激活会话。
AVSession_ErrCode OH_AVSession_Deactivate (OH_AVSession *avsession) 取消激活媒体会话。
AVSession_ErrCode OH_AVSession_GetSessionType (OH_AVSession *avsession, AVSession_Type *sessionType) 获取会话类型。
AVSession_ErrCode OH_AVSession_GetSessionId (OH_AVSession *avsession, const char **sessionId) 获取会话id。
AVSession_ErrCode OH_AVSession_SetAVMetadata (OH_AVSession *avsession, OH_AVMetadata *avmetadata) 设置媒体元数据。
AVSession_ErrCode OH_AVSession_SetPlaybackState (OH_AVSession *avsession, AVSession_PlaybackState playbackState) 设置播放状态。
AVSession_ErrCode OH_AVSession_SetPlaybackPosition (OH_AVSession *avsession, AVSession_PlaybackPosition *playbackPosition) 设置播放位置。
AVSession_ErrCode OH_AVSession_SetFavorite (OH_AVSession *avsession, bool favorite) 设置收藏状态。
AVSession_ErrCode OH_AVSession_SetLoopMode (OH_AVSession *avsession, AVSession_LoopMode loopMode) 设置循环模式。
AVSession_ErrCode OH_AVSession_RegisterCommandCallback (OH_AVSession *avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void *userData) 注册通用播控的回调。
AVSession_ErrCode OH_AVSession_UnregisterCommandCallback (OH_AVSession *avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback) 取消注册通用播控的回调。
AVSession_ErrCode OH_AVSession_RegisterForwardCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnFastForward callback, void *userData) 注册快进的回调。
AVSession_ErrCode OH_AVSession_UnregisterForwardCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnFastForward callback) 取消注册快进的回调。
AVSession_ErrCode OH_AVSession_RegisterRewindCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnRewind callback, void *userData) 注册快退的回调。
AVSession_ErrCode OH_AVSession_UnregisterRewindCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnRewind callback) 取消注册快退的回调。
AVSession_ErrCode OH_AVSession_RegisterSeekCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnSeek callback, void *userData) 注册跳转的回调。
AVSession_ErrCode OH_AVSession_UnregisterSeekCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnSeek callback) 取消注册跳转的回调。
AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnSetLoopMode callback, void *userData) 注册设置循环模式的回调。
AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnSetLoopMode callback) 取消注册设置循环模式的回调。
AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnToggleFavorite callback, void *userData) 设置收藏的回调。
AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback (OH_AVSession *avsession, OH_AVSessionCallback_OnToggleFavorite callback) 取消设置收藏的回调。

类型定义说明

AVSession_ControlCommand

typedef enum AVSession_ControlCommand AVSession_ControlCommand

描述

播控命令。

起始版本: 13

AVSession_PlaybackPosition

typedef struct AVSession_PlaybackPosition AVSession_PlaybackPosition

描述

媒体播放位置的相关属性。

起始版本: 13

OH_AVMetadata

typedef struct OH_AVMetadataStruct OH_AVMetadata

描述

会话元数据。资源设置的avmetadata的实例。

起始版本: 13

OH_AVMetadataBuilder

typedef struct OH_AVMetadataBuilderStruct OH_AVMetadataBuilder

描述

会话元数据构造器。构造器用于构造会话元数据。

起始版本: 13

OH_AVSession

typedef struct OH_AVSession OH_AVSession

描述

播控会话对象定义。

可以用OH_AVSession_Create创建一个会话对象。

起始版本: 13

OH_AVSessionCallback_OnCommand

typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnCommand)(OH_AVSession* session, AVSession_ControlCommand command, void* userData)

描述

通用的执行播控命令的回调。

起始版本: 13

OH_AVSessionCallback_OnFastForward

typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnFastForward)(OH_AVSession* session, uint32_t seekTime, void* userData)

描述

快进的回调。

起始版本: 13

OH_AVSessionCallback_OnRewind

typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnRewind)(OH_AVSession* session, uint32_t seekTime, void* userData)

描述

快退的回调。

起始版本: 13

OH_AVSessionCallback_OnSeek

typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSeek)(OH_AVSession* session, uint64_t seekTime, void* userData)

描述

进度调节的回调。

起始版本: 13

OH_AVSessionCallback_OnSetLoopMode

typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSession* session, AVSession_LoopMode curLoopMode, void* userData)

描述

设置循环模式的回调。

起始版本: 13

OH_AVSessionCallback_OnToggleFavorite

typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnToggleFavorite)(OH_AVSession* session, const char* assetId, void* userData)

描述

收藏的回调。

起始版本: 13

枚举类型说明

AVMetadata_DisplayTag

enum AVMetadata_DisplayTag

描述

应用媒体音源的特殊类型标识。

起始版本: 13

枚举值 描述
AVSESSION_DISPLAYTAG_AUDIO_VIVID AUDIO VIVID标识。

AVMetadata_Result

enum AVMetadata_Result

描述

元数据操作的错误码。

起始版本: 13

枚举值 描述
AVMETADATA_SUCCESS 执行成功。
AVMETADATA_ERROR_INVALID_PARAM 入参错误。
AVMETADATA_ERROR_NO_MEMORY 内存不足。

AVMetadata_SkipIntervals

enum AVMetadata_SkipIntervals

描述

表示session支持的快进快退时间间隔。

起始版本: 13

枚举值 描述
SECONDS_10 时间为10秒。
SECONDS_15 时间为15秒。
SECONDS_30 时间为30秒。

AVSession_ControlCommand

enum AVSession_ControlCommand

描述

播控命令。

起始版本: 13

枚举值 描述
CONTROL_CMD_INVALID 无效控制命令。
CONTROL_CMD_PLAY 播放命令。
CONTROL_CMD_PAUSE 暂停命令。
CONTROL_CMD_STOP 停止命令。
CONTROL_CMD_PLAY_NEXT 播放下一首命令。
CONTROL_CMD_PLAY_PREVIOUS 播放上一首命令。

AVSession_ErrCode

enum AVSession_ErrCode

描述

播控错误码。

起始版本: 13

枚举值 描述
AV_SESSION_ERR_SUCCESS 操作成功。
AV_SESSION_ERR_INVALID_PARAMETER 参数检查失败。
AV_SESSION_ERR_SERVICE_EXCEPTION 会话服务端异常。
AV_SESSION_ERR_CODE_SESSION_NOT_EXIST 会话不存在。
AV_SESSION_ERR_CODE_COMMAND_INVALID 无效会话命令。
AV_SESSION_ERR_CODE_SESSION_INACTIVE 会话未激活。
AV_SESSION_ERR_CODE_MESSAGE_OVERLOAD 命令&消息过载。

AVSession_LoopMode

enum AVSession_LoopMode

描述

媒体播放循环模式。

起始版本: 13

枚举值 描述
LOOP_MODE_SEQUENCE 顺序播放。
LOOP_MODE_SINGLE 单曲循环。
LOOP_MODE_LIST 表单循环。
LOOP_MODE_SHUFFLE 随机播放。
LOOP_MODE_CUSTOM 自定义播放。

AVSession_PlaybackState

enum AVSession_PlaybackState

描述

媒体播放状态的相关属性。

起始版本: 13

枚举值 描述
PLAYBACK_STATE_INITIAL 初始状态。
PLAYBACK_STATE_PREPARING 准备状态。
PLAYBACK_STATE_PLAYING 正在播放。
PLAYBACK_STATE_PAUSED 暂停。
PLAYBACK_STATE_FAST_FORWARDING 快进。
PLAYBACK_STATE_REWINDED 快退。
PLAYBACK_STATE_STOPPED 停止。
PLAYBACK_STATE_COMPLETED 播放完成。
PLAYBACK_STATE_RELEASED 释放。
PLAYBACK_STATE_ERROR 错误。
PLAYBACK_STATE_IDLE 空闲。
PLAYBACK_STATE_BUFFERING 缓冲。
PLAYBACK_STATE_MAX 最大状态。(当state为12时,返回错误码401)

AVSession_Type

enum AVSession_Type

描述

会话类型。

起始版本: 13

枚举值 描述
SESSION_TYPE_AUDIO 音频。
SESSION_TYPE_VIDEO 视频。
SESSION_TYPE_VOICE_CALL 音频通话。
SESSION_TYPE_VIDEO_CALL 视频通话。

AVSessionCallback_Result

enum AVSessionCallback_Result

描述

回调执行的结果。

起始版本: 13

枚举值 描述
AVSESSION_CALLBACK_RESULT_SUCCESS 执行成功。
AVSESSION_CALLBACK_RESULT_FAILURE 执行失败。

函数说明

OH_AVMetadata_Destroy()

AVMetadata_Result OH_AVMetadata_Destroy(OH_AVMetadata* avMetadata)

描述

释放媒体元数据对象。

起始版本: 13

参数:

名称 描述
avMetadata 指向元数据的指针对象。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:参数avMetadata为nullptr。

OH_AVMetadataBuilder_Create()

AVMetadata_Result OH_AVMetadataBuilder_Create(OH_AVMetadataBuilder** builder)

描述

创建一个元数据构造器。

起始版本: 13

参数:

名称 描述
builder 该引用指向创建的构造器的结果。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。

AVMETADATA_ERROR_NO_MEMORY:没有内存来分配新实例。

OH_AVMetadataBuilder_Destroy()

AVMetadata_Result OH_AVMetadataBuilder_Destroy(OH_AVMetadataBuilder* builder)

描述

销毁元数据构造器。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。

OH_AVMetadataBuilder_GenerateAVMetadata()

AVMetadata_Result OH_AVMetadataBuilder_GenerateAVMetadata(OH_AVMetadataBuilder* builder, OH_AVMetadata** avMetadata)

描述

生成媒体元数据对象。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
avMetadata 指向元数据的指针对象。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_NO_MEMORY:内存不足。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数avMetadata为nullptr。

OH_AVMetadataBuilder_SetAlbum()

AVMetadata_Result OH_AVMetadataBuilder_SetAlbum(OH_AVMetadataBuilder* builder, const char* album)

描述

设置资源专辑名称。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
album 专辑名。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM: 1. 参数builder为nullptr。

  1. 参数album为nullptr。

OH_AVMetadataBuilder_SetArtist()

AVMetadata_Result OH_AVMetadataBuilder_SetArtist(OH_AVMetadataBuilder* builder, const char* artist)

描述

设置资源所属的艺术家。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
artist 艺术家。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM: 1. 参数builder为nullptr。

  1. 参数artist为nullptr。

OH_AVMetadataBuilder_SetAssetId()

AVMetadata_Result OH_AVMetadataBuilder_SetAssetId(OH_AVMetadataBuilder* builder, const char* assetId)

描述

设置当前媒体资源id。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
assetId 资源id。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数assetId为nullptr。

OH_AVMetadataBuilder_SetAuthor()

AVMetadata_Result OH_AVMetadataBuilder_SetAuthor(OH_AVMetadataBuilder* builder, const char* author)

描述

设置资源的作者。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
author 作者。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数author为nullptr。

OH_AVMetadataBuilder_SetComposer()

AVMetadata_Result OH_AVMetadataBuilder_SetComposer(OH_AVMetadataBuilder* builder, const char* composer)

描述

设置资源作曲者。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
composer 作曲者。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM: 1. 参数builder为nullptr。

  1. 参数composer为nullptr。

OH_AVMetadataBuilder_SetDescription()

AVMetadata_Result OH_AVMetadataBuilder_SetDescription(OH_AVMetadataBuilder* builder, const char* description)

描述

设置媒体描述信息。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
description 媒体描述信息。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数description为nullptr。

OH_AVMetadataBuilder_SetDisplayTags()

AVMetadata_Result OH_AVMetadataBuilder_SetDisplayTags(OH_AVMetadataBuilder* builder, int32_t tags)

描述

设置媒体资源的金标类型。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
tags 用于显示在播控的媒体资源的金标类型。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。

OH_AVMetadataBuilder_SetDuration()

AVMetadata_Result OH_AVMetadataBuilder_SetDuration(OH_AVMetadataBuilder* builder, int64_t duration)

描述

设置资源播放时长。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
duration 资源播放时长,以ms为单位。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:参数builder为nullptr。

OH_AVMetadataBuilder_SetLyric()

AVMetadata_Result OH_AVMetadataBuilder_SetLyric(OH_AVMetadataBuilder* builder, const char* lyric)

描述

设置歌词。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
lyric lrc格式的歌词内容。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数lyric为nullptr。

OH_AVMetadataBuilder_SetMediaImageUri()

AVMetadata_Result OH_AVMetadataBuilder_SetMediaImageUri(OH_AVMetadataBuilder* builder, const char* mediaImageUri)

描述

设置媒体图片数据。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
mediaImageUri 网络资源图片数据地址。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数mediaImageUri为nullptr。

OH_AVMetadataBuilder_SetSkipIntervals()

AVMetadata_Result OH_AVMetadataBuilder_SetSkipIntervals(OH_AVMetadataBuilder* builder, AVMetadata_SkipIntervals intervals)

描述

设置资源的跳转的间隔时间。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
intervals 跳转的时间间隔。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数intervals为无效。

OH_AVMetadataBuilder_SetSubtitle()

AVMetadata_Result OH_AVMetadataBuilder_SetSubtitle(OH_AVMetadataBuilder* builder, const char* subtitle)

描述

设置副标题。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
subtitle The subtitle of resource.

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。

  2. 参数subtitle为nullptr。

OH_AVMetadataBuilder_SetTitle()

AVMetadata_Result OH_AVMetadataBuilder_SetTitle(OH_AVMetadataBuilder* builder, const char* title)

描述

设置资源标题。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
title 标题。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM: 1. 参数builder为nullptr。

  1. 参数title为nullptr。

OH_AVMetadataBuilder_SetWriter()

AVMetadata_Result OH_AVMetadataBuilder_SetWriter(OH_AVMetadataBuilder* builder, const char* writer)

描述

设置资源词作者。

起始版本: 13

参数:

名称 描述
builder 指向元数据构造器的实例。
writer 词作者。

返回:

函数返回值AVMetadata_Result

AVMETADATA_SUCCESS:函数执行成功。

AVMETADATA_ERROR_INVALID_PARAM: 1. 参数builder为nullptr。

  1. 参数writer为nullptr。

OH_AVSession_Activate()

AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession)

描述

激活会话。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

OH_AVSession_Create()

AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag, const char* bundleName, const char* abilityName, OH_AVSession** avsession)

描述

创建会话对象。

起始版本: 13

参数:

名称 描述
sessionType 会话类型AVSession_Type
sessionTag 会话标签。
bundleName 创建会话的包名。
abilityName 创建会话的ability名。
avsession 返回的媒体会话对象。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常或session重复创建。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数sessionType无效。

  2. 参数sessionTag为nullptr。

  3. 参数bundleName为nullptr。

  4. 参数abilityName为nullptr。

  5. 参数avsession为nullptr。

OH_AVSession_Deactivate()

AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession)

描述

取消激活媒体会话。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

OH_AVSession_Destroy()

AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession)

描述

销毁会话对象。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。

OH_AVSession_GetSessionId()

AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId)

描述

获取会话id。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
sessionId 返回的会话类型id。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常,获取session Id错误。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数sessionId为nullptr。

OH_AVSession_GetSessionType()

AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType)

描述

获取会话类型。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
sessionType 返回的会话类型。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常,获取session type错误。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数sessionType为nullptr。

OH_AVSession_RegisterCommandCallback()

AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void* userData)

描述

注册通用播控的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
command 播控的控制命令。
callback 控制命令的回调OH_AVSessionCallback_OnCommand
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_CODE_COMMAND_INVALID:控制命令无效。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_RegisterForwardCallback()

AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnFastForward callback, void* userData)

描述

注册快进的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 快进命令的回调OH_AVSessionCallback_OnFastForward
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_RegisterRewindCallback()

AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnRewind callback, void* userData)

描述

注册快退的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 快退命令的回调OH_AVSessionCallback_OnRewind
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_RegisterSeekCallback()

AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSeek callback, void* userData)

描述

注册跳转的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 跳转命令的回调OH_AVSessionCallback_OnSeek
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_RegisterSetLoopModeCallback()

AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSetLoopMode callback, void* userData)

描述

注册设置循环模式的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 设置循环模式命令的回调OH_AVSessionCallback_OnSetLoopMode
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_RegisterToggleFavoriteCallback()

AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnToggleFavorite callback, void* userData)

描述

设置收藏的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 设置收藏命令的回调OH_AVSessionCallback_OnToggleFavorite
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_SetAVMetadata()

AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata)

描述

设置媒体元数据。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
avmetadata 设置媒体元数据信息。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数avmetadata为nullptr。

OH_AVSession_SetFavorite()

AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorite)

描述

设置收藏状态。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
favorite 收藏状态,true表示收藏,false表示取消收藏。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:参数avsession为nullptr。

OH_AVSession_SetLoopMode()

AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode)

描述

设置循环模式。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
loopMode 循环模式。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数loopMode无效。

OH_AVSession_SetPlaybackPosition()

AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession, AVSession_PlaybackPosition* playbackPosition)

描述

设置播放位置。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
playbackPosition 播放位置对象。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数playbackPosition为nullptr。

OH_AVSession_SetPlaybackState()

AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession, AVSession_PlaybackState playbackState)

描述

设置播放状态。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
playbackState 播放状态。

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数playbackState无效。

OH_AVSession_UnregisterCommandCallback()

AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession, AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback)

描述

取消注册通用播控的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
command 播控的控制命令。
callback 控制命令的回调OH_AVSessionCallback_OnCommand

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_CODE_COMMAND_INVALID:控制命令无效。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_UnregisterForwardCallback()

AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnFastForward callback)

描述

取消注册快进的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 快进命令的回调OH_AVSessionCallback_OnFastForward

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_UnregisterRewindCallback()

AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnRewind callback)

描述

取消注册快退的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 快退命令的回调OH_AVSessionCallback_OnRewind

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_UnregisterSeekCallback()

AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSeek callback)

描述

取消注册跳转的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 跳转命令的回调OH_AVSessionCallback_OnSeek

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_UnregisterSetLoopModeCallback()

AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSetLoopMode callback)

描述

取消注册设置循环模式的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 设置循环模式命令的回调OH_AVSessionCallback_OnSetLoopMode

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

OH_AVSession_UnregisterToggleFavoriteCallback()

AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnToggleFavorite callback)

描述

取消设置收藏的回调。

起始版本: 13

参数:

名称 描述
avsession 媒体会话对象。
callback 设置收藏命令的回调OH_AVSessionCallback_OnToggleFavorite

返回:

函数返回值AVSession_ErrCode

AV_SESSION_ERR_SUCCESS:函数执行成功。

AV_SESSION_ERR_SERVICE_EXCEPTION:会话服务异常。

AV_SESSION_ERR_INVALID_PARAMETER:

  1. 参数avsession为nullptr。

  2. 参数callback为nullptr。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙AVSession Kit(音视频播控服务)

harmony 鸿蒙AVSession_PlaybackPosition

harmony 鸿蒙媒体会话管理错误码

harmony 鸿蒙@ohos.app.ability.MediaControlExtensionAbility (播控扩展能力)(系统接口)

harmony 鸿蒙@ohos.multimedia.avCastPickerParam (投播组件参数)

harmony 鸿蒙@ohos.multimedia.avsession (媒体会话管理)(系统接口)

harmony 鸿蒙js-apis-avsession

harmony 鸿蒙MediaControlExtensionContext (播控扩展能力上下文)(系统接口)

harmony 鸿蒙native_avmetadata.h

harmony 鸿蒙native_avsession.h

0  赞