0ede174d创建于 2025年3月14日历史提交

avplayer.h

概述

定义AVPlayer接口。使用AVPlayer提供的Native API播放媒体源。

库: libavplayer.so

引用文件: <multimedia/player_framework/avplayer.h>

起始版本: 11

相关模块:AVPlayer

汇总

类型定义

名称 描述
typedef struct MediaKeySession MediaKeySession MediaKeySession类型。
typedef struct DRM_MediaKeySystemInfo DRM_MediaKeySystemInfo DRM_MediaKeySystemInfo类型。
typedef void(* Player_MediaKeySystemInfoCallback) (OH_AVPlayer *player, DRM_MediaKeySystemInfo *mediaKeySystemInfo) 播放器DRM信息更新时被调用。

函数

名称 描述
OH_AVPlayer *OH_AVPlayer_Create (void) 创建播放器。
OH_AVErrCode OH_AVPlayer_SetURLSource (OH_AVPlayer *player, const char *url) 设置播放器的播放源。对应的源可以是http url。
OH_AVErrCode OH_AVPlayer_SetFDSource (OH_AVPlayer *player, int32_t fd, int64_t offset, int64_t size) 设置播放器的播放媒体文件描述符来源。
OH_AVErrCode OH_AVPlayer_Prepare (OH_AVPlayer *player) 准备播放环境,异步缓存媒体数据。
OH_AVErrCode OH_AVPlayer_Play (OH_AVPlayer *player) 开始播放。
OH_AVErrCode OH_AVPlayer_Pause (OH_AVPlayer *player) 暂停播放。
OH_AVErrCode OH_AVPlayer_Stop (OH_AVPlayer *player) 停止播放。
OH_AVErrCode OH_AVPlayer_Reset (OH_AVPlayer *player) 将播放器恢复到初始状态。
OH_AVErrCode OH_AVPlayer_Release (OH_AVPlayer *player) 异步释放播放器资源。
OH_AVErrCode OH_AVPlayer_ReleaseSync (OH_AVPlayer *player) 同步释放播放器资源。
OH_AVErrCode OH_AVPlayer_SetVolume (OH_AVPlayer *player, float leftVolume, float rightVolume) 设置播放器的音量。
OH_AVErrCode OH_AVPlayer_Seek (OH_AVPlayer *player, int32_t mSeconds, AVPlayerSeekMode mode) 改变播放位置。
OH_AVErrCode OH_AVPlayer_GetCurrentTime (OH_AVPlayer *player, int32_t *currentTime) 获取播放位置,精确到毫秒。
OH_AVErrCode OH_AVPlayer_GetVideoWidth (OH_AVPlayer *player, int32_t *videoWidth) 获取视频宽度。
OH_AVErrCode OH_AVPlayer_GetVideoHeight (OH_AVPlayer *player, int32_t *videoHeight) 获取视频高度。
OH_AVErrCode OH_AVPlayer_SetPlaybackSpeed (OH_AVPlayer *player, AVPlaybackSpeed speed) 设置播放器播放速率。
OH_AVErrCode OH_AVPlayer_GetPlaybackSpeed (OH_AVPlayer *player, AVPlaybackSpeed *speed) 获取当前播放器播放速率。
OH_AVErrCode OH_AVPlayer_SetAudioRendererInfo (OH_AVPlayer *player, OH_AudioStream_Usage streamUsage) 设置player音频流类型。
OH_AVErrCode OH_AVPlayer_SetVolumeMode (OH_AVPlayer *player, OH_AudioStream_VolumeMode volumeMode) 设置player音频流音量模式。
OH_AVErrCode OH_AVPlayer_SetAudioInterruptMode (OH_AVPlayer *player, OH_AudioInterrupt_Mode interruptMode) 设置player音频流的打断模式。
OH_AVErrCode OH_AVPlayer_SetAudioEffectMode (OH_AVPlayer *player, OH_AudioStream_AudioEffectMode effectMode) 设置player音频流的音效模式。
OH_AVErrCode OH_AVPlayer_SelectBitRate (OH_AVPlayer *player, uint32_t bitRate) 设置hls播放器使用的码率。
OH_AVErrCode OH_AVPlayer_SetVideoSurface (OH_AVPlayer *player, OHNativeWindow *window) 设置播放画面窗口。
OH_AVErrCode OH_AVPlayer_GetDuration (OH_AVPlayer *player, int32_t *duration) 获取媒体文件的总时长,精确到毫秒。
OH_AVErrCode OH_AVPlayer_GetState (OH_AVPlayer *player, AVPlayerState *state) 获取当前播放状态。
bool OH_AVPlayer_IsPlaying (OH_AVPlayer *player) 判断播放器是否在播放。
bool OH_AVPlayer_IsLooping (OH_AVPlayer *player) 判断是用循环播放。
OH_AVErrCode OH_AVPlayer_SetLooping (OH_AVPlayer *player, bool loop) 设置循环播放。
OH_AVErrCode OH_AVPlayer_SetPlayerCallback (OH_AVPlayer *player, AVPlayerCallback callback) 设置播放器回调方法。
OH_AVErrCode OH_AVPlayer_SelectTrack (OH_AVPlayer *player, int32_t index) 选择音频或字幕轨道。
OH_AVErrCode OH_AVPlayer_DeselectTrack (OH_AVPlayer *player, int32_t index) 取消选择当前音频或字幕轨道。
OH_AVErrCode OH_AVPlayer_GetCurrentTrack (OH_AVPlayer *player, int32_t trackType, int32_t *index) 获取当前有效的轨道索引。
OH_AVErrCode OH_AVPlayer_SetMediaKeySystemInfoCallback (OH_AVPlayer *player, Player_MediaKeySystemInfoCallback callback) 设置播放器媒体密钥系统信息回调的方法。
OH_AVErrCode OH_AVPlayer_GetMediaKeySystemInfo (OH_AVPlayer *player, DRM_MediaKeySystemInfo *mediaKeySystemInfo) 获取媒体密钥系统信息以创建媒体密钥会话。
OH_AVErrCode OH_AVPlayer_SetDecryptionConfig (OH_AVPlayer *player, MediaKeySession *mediaKeySession, bool secureVideoPath) 设置解密信息。
OH_AVErrCode OH_AVPlayer_SetOnInfoCallback (OH_AVPlayer *player, OH_AVPlayerOnInfoCallback callback, void *userData) 设置播放器消息回调监听函数。
OH_AVErrCode OH_AVPlayer_SetOnErrorCallback (OH_AVPlayer *player, OH_AVPlayerOnErrorCallback callback, void *userData) 设置播放器错误回调监听函数。