harmony 鸿蒙native_avsession.h

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

native_avsession.h

概述

媒体会话定义,可用于设置元数据、播放状态信息等操作。

库: libohavsession.so

引用文件: <multimedia/av_session/native_avsession.h>

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

起始版本: 13

相关模块:OHAVSession

汇总

结构体

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

类型定义

名称 描述
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 播控会话对象定义。

枚举

名称 描述
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 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) 取消设置收藏的回调。

你可能感兴趣的鸿蒙文章

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

harmony 鸿蒙AVSession_PlaybackPosition

harmony 鸿蒙OHAVSession

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

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

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

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

harmony 鸿蒙js-apis-avsession

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

harmony 鸿蒙native_avmetadata.h

0  赞