harmony 鸿蒙avplayer.h
avplayer.h
概述
定义avplayer接口。使用AVPlayer提供的Native API播放媒体源。
引用文件:
库: libavplayer.so
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
相关模块: AVPlayer
汇总
结构体
|名称|typedef关键字|描述| |–|–|–| |MediaKeySession|MediaKeySession|MediaKeySession类型。| |DRM_MediaKeySystemInfo|DRM_MediaKeySystemInfo|DRM_MediaKeySystemInfo类型。|
函数
|名称|typedef关键字|描述|
|–|–|–|
|typedef void (*Player_MediaKeySystemInfoCallback)(OH_AVPlayer *player, DRM_MediaKeySystemInfo* mediaKeySystemInfo)|Player_MediaKeySystemInfoCallback|播放器DRM信息更新时调用。|
|OH_AVPlayer *OH_AVPlayer_Create(void)|-|创建播放器。
推荐单个应用创建的音视频播放器实例(即音频、视频、音视频三类相加)不超过16个。
可创建的音视频播放器实例数量依赖于设备芯片的支持情况,如芯片支持创建的数量少于上述情况,请以芯片规格为准。如RK3568推荐单个应用创建6个以内的音视频播放器实例。|
|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)|-|准备播放环境,异步缓存媒体数据。
此函数必须在SetSource之后调用。|
|OH_AVErrCode OH_AVPlayer_Play(OH_AVPlayer *player)|-|开始播放。
此函数必须在OH_AVPlayer_Prepare之后调用。
如果播放器状态为<Prepared>,调用此函数开始播放。|
|OH_AVErrCode OH_AVPlayer_Pause(OH_AVPlayer *player)|-|暂停播放。|
|OH_AVErrCode OH_AVPlayer_Stop(OH_AVPlayer *player)|-|停止播放。|
|OH_AVErrCode OH_AVPlayer_Reset(OH_AVPlayer *player)|-|将播放器恢复到初始状态。
函数调用完成后,调用SetSource添加播放源。调用OH_AVPlayer_Prepare后,再调用OH_AVPlayer_Play重新开始播放。|
|OH_AVErrCode OH_AVPlayer_Release(OH_AVPlayer *player)|-|异步释放播放器资源。异步释放可以提升性能,但不能确保播放画面的SurfaceBuffer已释放。调用者需要确保播放画面窗口的生命周期安全。|
|OH_AVErrCode OH_AVPlayer_ReleaseSync(OH_AVPlayer *player)|-|同步释放播放器资源。
同步过程保证了播放画面的SurfaceBuffer释放,但该过程耗时较长,建议调用者自行设计异步机制。|
|OH_AVErrCode OH_AVPlayer_SetVolume(OH_AVPlayer *player, float leftVolume, float rightVolume)|-|设置播放器的音量。
可以在播放或暂停的过程中使用。0表示无声音,1为原始值。|
|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)|-|根据指定的{AVPlaybackSpeed},设置播放器的播放速率。|
|OH_AVErrCode OH_AVPlayer_SetPlaybackRate(OH_AVPlayer *player, float rate)|-|在有效范围内,设置播放器的播放速率。
支持的状态:已准备/正在播放/已暂停/已完成。|
|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播放器使用的码率。仅对HLS协议网络流有效。
默认情况下,播放器会根据网络连接情况选择合适的码率和速度。
通过INFO_TYPE_BITRATE_COLLECT上报有效码率链表,设置并选择指定的码率,选择小于和最接近的码率。准备好后,读取以查询当前选择的比特率。|
|OH_AVErrCode OH_AVPlayer_SetVideoSurface(OH_AVPlayer *player, OHNativeWindow *window)|-|设置播放画面窗口。
此函数必须在SetSource之后,Prepare之前调用。|
|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_AVPlayerOnInfo和错误监听回调函数OH_AVPlayerOnError可以传递的信息有限,也不便于应用区分多个播放器实例。从API 12开始,应使用OH_AVPlayer_SetOnInfoCallback、OH_AVPlayer_SetOnErrorCallback接口分别设置信息监听回调函数OH_AVPlayerOnInfoCallback和错误监听回调函数OH_AVPlayerOnErrorCallback。|
|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)|-|设置播放器错误回调监听函数。|
函数说明
Player_MediaKeySystemInfoCallback()
typedef void (*Player_MediaKeySystemInfoCallback)(OH_AVPlayer *player, DRM_MediaKeySystemInfo* mediaKeySystemInfo)
描述
播放器DRM信息更新时调用。
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer player|指向OH_AVPlayer实例的指针。| |DRM_MediaKeySystemInfo mediaKeySystemInfo|DRM信息。|
OH_AVPlayer_Create()
OH_AVPlayer *OH_AVPlayer_Create(void)
描述
创建播放器。
推荐单个应用创建的音视频播放器实例(即音频、视频、音视频三类相加)不超过16个。
可创建的音视频播放器实例数量依赖于设备芯片的支持情况,如芯片支持创建的数量少于上述情况,请以芯片规格为准。如RK3568推荐单个应用创建6个以内的音视频播放器实例。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
返回:
|类型|说明|
|–|–|
|OH_AVPlayer|如果创建成功返回指向OH_AVPlayer实例的指针,否则返回空指针。
可能的失败原因:
1.PlayerFactory::CreatePlayer执行失败。
2.new PlayerObject执行失败。|
OH_AVPlayer_SetURLSource()
OH_AVErrCode OH_AVPlayer_SetURLSource(OH_AVPlayer *player, const char *url)
描述
设置播放器的播放源。对应的源可以是http url。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |const char *url|播放源。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:设置成功。
AV_ERR_INVALID_VAL:输入player为空指针,url为空或者player SetUrlSource执行失败。|
OH_AVPlayer_SetFDSource()
OH_AVErrCode OH_AVPlayer_SetFDSource(OH_AVPlayer *player, int32_t fd, int64_t offset, int64_t size)
描述
设置播放器的媒体文件描述符来源。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t fd|媒体源的文件描述符。| |int64_t offset|媒体源在文件描述符中的偏移量。| |int64_t size|表示媒体源的大小。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:fd设置成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player SetFdSource执行失败。|
OH_AVPlayer_Prepare()
OH_AVErrCode OH_AVPlayer_Prepare(OH_AVPlayer *player)
描述
准备播放环境,异步缓存媒体数据。
此函数必须在SetSource之后调用。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player Prepare执行失败。|
OH_AVPlayer_Play()
OH_AVErrCode OH_AVPlayer_Play(OH_AVPlayer *player)
描述
开始播放。
此函数必须在OH_AVPlayer_Prepare之后调用。
如果播放器状态为<Prepared>,调用此函数开始播放。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player Play执行失败。|
OH_AVPlayer_Pause()
OH_AVErrCode OH_AVPlayer_Pause(OH_AVPlayer *player)
描述
暂停播放。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player Pause执行失败。|
OH_AVPlayer_Stop()
OH_AVErrCode OH_AVPlayer_Stop(OH_AVPlayer *player)
描述
停止播放。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player Stop执行失败。|
OH_AVPlayer_Reset()
OH_AVErrCode OH_AVPlayer_Reset(OH_AVPlayer *player)
描述
将播放器恢复到初始状态。
函数调用完成后,调用SetSource添加播放源。调用OH_AVPlayer_Prepare后,再调用OH_AVPlayer_Play重新开始播放。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player Reset执行失败。|
OH_AVPlayer_Release()
OH_AVErrCode OH_AVPlayer_Release(OH_AVPlayer *player)
描述
异步释放播放器资源。
异步释放可以提升性能,但不能确保播放画面的SurfaceBuffer已释放。调用者需要确保播放画面窗口的生命周期安全。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player Release执行失败。|
OH_AVPlayer_ReleaseSync()
OH_AVErrCode OH_AVPlayer_ReleaseSync(OH_AVPlayer *player)
描述
同步释放播放器资源。
同步过程保证了播放画面的SurfaceBuffer释放,但该过程耗时较长,建议调用者自行设计异步机制。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player ReleaseSync执行失败。|
OH_AVPlayer_SetVolume()
OH_AVErrCode OH_AVPlayer_SetVolume(OH_AVPlayer *player, float leftVolume, float rightVolume)
描述
设置播放器的音量。
可以在播放或暂停的过程中使用。0表示无声音,1为原始值。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |float leftVolume|要设置的左声道目标音量。| |float rightVolume|要设置的右声道目标音量。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置音量。
AV_ERR_INVALID_VAL:输入player为空指针,或者player SetVolume执行失败。|
OH_AVPlayer_Seek()
OH_AVErrCode OH_AVPlayer_Seek(OH_AVPlayer *player, int32_t mSeconds, AVPlayerSeekMode mode)
描述
改变播放位置。
此函数可以在播放或暂停时使用。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t mSeconds|播放目标位置,精确到毫秒。| |AVPlayerSeekMode mode|播放器的跳转模式。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player Seek执行失败。|
OH_AVPlayer_GetCurrentTime()
OH_AVErrCode OH_AVPlayer_GetCurrentTime(OH_AVPlayer *player, int32_t *currentTime)
描述
获取播放位置,精确到毫秒。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t *currentTime|播放位置。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功获取当前播放位置。
AV_ERR_INVALID_VAL:输入player为空指针,或者player GetCurrentTime执行失败。|
OH_AVPlayer_GetVideoWidth()
OH_AVErrCode OH_AVPlayer_GetVideoWidth(OH_AVPlayer *player, int32_t *videoWidth)
描述
获取视频宽度。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t *videoWidth|视频宽度。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功获取视频宽度。
AV_ERR_INVALID_VAL:输入player为空指针。|
OH_AVPlayer_GetVideoHeight()
OH_AVErrCode OH_AVPlayer_GetVideoHeight(OH_AVPlayer *player, int32_t *videoHeight)
描述
获取视频高度。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t *videoHeight|视频高度。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功获取视频高度。
AV_ERR_INVALID_VAL:输入player为空指针。|
OH_AVPlayer_SetPlaybackSpeed()
OH_AVErrCode OH_AVPlayer_SetPlaybackSpeed(OH_AVPlayer *player, AVPlaybackSpeed speed)
描述
根据指定的AVPlaybackSpeed,设置播放器的播放速率。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |AVPlaybackSpeed speed|速率模式。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置播放速率。
AV_ERR_INVALID_VAL:输入player为空指针。|
OH_AVPlayer_SetPlaybackRate()
OH_AVErrCode OH_AVPlayer_SetPlaybackRate(OH_AVPlayer *player, float rate)
描述
在有效范围内,设置播放器的播放速率。
支持的状态:已准备/正在播放/已暂停/已完成。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 20
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |float rate|播放速率,有效范围是0.125~4。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置播放速率。
AV_ERR_OPERATE_NOT_PERMIT:如果在不支持的状态下调用或在直播期间调用。
AV_ERR_INVALID_VAL:输入player为空指针,或者速率超出范围。|
OH_AVPlayer_GetPlaybackSpeed()
OH_AVErrCode OH_AVPlayer_GetPlaybackSpeed(OH_AVPlayer *player, AVPlaybackSpeed *speed)
描述
获取当前播放器的播放速率。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |AVPlaybackSpeed *speed|速率模式。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功获取播放速率。
AV_ERR_INVALID_VAL:输入player为空指针,或者player GetPlaybackSpeed执行失败。|
OH_AVPlayer_SetAudioRendererInfo()
OH_AVErrCode OH_AVPlayer_SetAudioRendererInfo(OH_AVPlayer *player, OH_AudioStream_Usage streamUsage)
描述
设置player音频流类型。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |OH_AudioStream_Usage streamUsage|player音频流设置的类型。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置音频流类型。
AV_ERR_INVALID_VAL:输入player为空指针或者streamUsage值无效。|
OH_AVPlayer_SetVolumeMode()
OH_AVErrCode OH_AVPlayer_SetVolumeMode(OH_AVPlayer *player, OH_AudioStream_VolumeMode volumeMode)
描述
设置player音频流音量模式。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 18
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |OH_AudioStream_VolumeMode volumeMode|指定音频流音量模式。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置音频流音量模式。
AV_ERR_INVALID_VAL: 输入player为空指针或者volumeMode值无效。
AV_ERR_INVALID_STATE:函数在无效状态下调用,应先处于准备状态。
AV_ERR_SERVICE_DIED:系统错误。|
OH_AVPlayer_SetAudioInterruptMode()
OH_AVErrCode OH_AVPlayer_SetAudioInterruptMode(OH_AVPlayer *player, OH_AudioInterrupt_Mode interruptMode)
描述
设置player音频流的打断模式。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |OH_AudioInterrupt_Mode interruptMode|player音频流使用的打断模式。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置音频流的打断模式。
AV_ERR_INVALID_VAL:输入player为空指针,或者interruptMode值无效。|
OH_AVPlayer_SetAudioEffectMode()
OH_AVErrCode OH_AVPlayer_SetAudioEffectMode(OH_AVPlayer *player, OH_AudioStream_AudioEffectMode effectMode)
描述
设置player音频流的音效模式。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |OH_AudioStream_AudioEffectMode effectMode|player音频流使用的音效模式。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置音频流的音效模式。
AV_ERR_INVALID_VAL:输入player为空指针,或者effectMode值无效。|
OH_AVPlayer_SelectBitRate()
OH_AVErrCode OH_AVPlayer_SelectBitRate(OH_AVPlayer *player, uint32_t bitRate)
描述
设置hls播放器使用的码率。仅对HLS协议网络流有效。
默认情况下,播放器会根据网络连接情况选择合适的码率和速度。
通过INFO_TYPE_BITRATE_COLLECT上报有效码率链表,设置并选择指定的码率,选择小于且最接近的码率。准备好后,读取以查询当前选择的比特率。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |uint32_t bitRate|码率,单位为bps。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置码率。
AV_ERR_INVALID_VAL:输入player为空指针,或者player SelectBitRate执行失败。|
OH_AVPlayer_SetVideoSurface()
OH_AVErrCode OH_AVPlayer_SetVideoSurface(OH_AVPlayer *player, OHNativeWindow *window)
描述
设置播放画面窗口。
此函数必须在SetSource之后,Prepare之前调用。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |OHNativeWindow *window|指向OHNativeWindow实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置播放画面窗口。
AV_ERR_INVALID_VAL:输入player为空指针,输入window为空指针或者player SetVideoSurface执行失败。|
OH_AVPlayer_GetDuration()
OH_AVErrCode OH_AVPlayer_GetDuration(OH_AVPlayer *player, int32_t *duration)
描述
获取媒体文件的总时长,精确到毫秒。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t *duration|媒体文件的总时长。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功获取媒体文件时长。
AV_ERR_INVALID_VAL:输入player为空指针,或者player GetDuration执行失败。|
OH_AVPlayer_GetState()
OH_AVErrCode OH_AVPlayer_GetState(OH_AVPlayer *player, AVPlayerState *state)
描述
获取当前播放状态。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |AVPlayerState *state|当前播放状态。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功获取当前播放状态。
AV_ERR_INVALID_VAL:输入player为空指针,或者player GetState执行失败。|
OH_AVPlayer_IsPlaying()
bool OH_AVPlayer_IsPlaying(OH_AVPlayer *player)
描述
判断播放器是否在播放。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明| |–|–| |bool|如果正在播放,则返回true;如果不在播放或者输入player为空指针则返回false。|
OH_AVPlayer_IsLooping()
bool OH_AVPlayer_IsLooping(OH_AVPlayer *player)
描述
判断是否循环播放。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。|
返回:
|类型|说明| |–|–| |bool|如果是循环播放,则返回true;如果不是循环播放或者输入player为空指针则返回false。|
OH_AVPlayer_SetLooping()
OH_AVErrCode OH_AVPlayer_SetLooping(OH_AVPlayer *player, bool loop)
描述
设置循环播放。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |bool loop|循环播放开关。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置循环播放。
AV_ERR_INVALID_VAL:输入player为空指针,或者player SetLooping执行失败。|
OH_AVPlayer_SetPlayerCallback()
OH_AVErrCode OH_AVPlayer_SetPlayerCallback(OH_AVPlayer *player, AVPlayerCallback callback)
描述
设置播放器回调函数。
由于通过此方法设置的信息监听回调函数OH_AVPlayerOnInfo和错误监听回调函数OH_AVPlayerOnError可以传递的信息有限,也不便于应用区分多个播放器实例。
从API 12开始,应使用OH_AVPlayer_SetOnInfoCallback、OH_AVPlayer_SetOnErrorCallback接口分别设置信息监听回调函数OH_AVPlayerOnInfoCallback和错误监听回调函数OH_AVPlayerOnErrorCallback。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |AVPlayerCallback callback|回调对象指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功设置播放器回调。
AV_ERR_INVALID_VAL:输入player为空指针,callback.onInfo或onError为空,或者player SetPlayerCallback执行失败。|
OH_AVPlayer_SelectTrack()
OH_AVErrCode OH_AVPlayer_SelectTrack(OH_AVPlayer *player, int32_t index)
描述
选择音频或字幕轨道。
默认播放第一个带数据的音轨,不播放字幕轨迹。
设置生效后,原音轨将失效。请设置字幕处于准备/播放/暂停/完成状态,并将音轨设置为准备状态。
该接口在当前版本暂不支持,将在后续版本开放能力。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t index|索引。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player SelectTrack执行失败。|
OH_AVPlayer_DeselectTrack()
OH_AVErrCode OH_AVPlayer_DeselectTrack(OH_AVPlayer *player, int32_t index)
描述
取消选择当前音频或字幕轨道。
该接口在当前版本暂不支持,将在后续版本开放能力。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t index|索引。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,或者player DeselectTrack执行失败。|
OH_AVPlayer_GetCurrentTrack()
OH_AVErrCode OH_AVPlayer_GetCurrentTrack(OH_AVPlayer *player, int32_t trackType, int32_t *index)
描述
获取当前有效的轨道索引。请将状态设置为准备/正在播放/暂停/完成。
该接口在当前版本暂不支持,将在后续版本开放能力。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 11
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |int32_t trackType|媒体类型。0:音频,1:视频。| |int32_t *index|索引。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:成功获取轨道索引。
AV_ERR_INVALID_VAL:输入player为空指针,或者player GetCurrentTrack执行失败。|
OH_AVPlayer_SetMediaKeySystemInfoCallback()
OH_AVErrCode OH_AVPlayer_SetMediaKeySystemInfoCallback(OH_AVPlayer *player,Player_MediaKeySystemInfoCallback callback)
描述
设置播放器媒体密钥系统信息回调的方法。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |Player_MediaKeySystemInfoCallback callback|对象指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针,callback为空指针或player SetDrmSystemInfoCallback执行失败。|
OH_AVPlayer_GetMediaKeySystemInfo()
OH_AVErrCode OH_AVPlayer_GetMediaKeySystemInfo(OH_AVPlayer *player, DRM_MediaKeySystemInfo *mediaKeySystemInfo)
描述
获取媒体密钥系统信息以创建媒体密钥会话。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |DRM_MediaKeySystemInfo *mediaKeySystemInfo|媒体密钥系统信息。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针或者内存不足。|
OH_AVPlayer_SetDecryptionConfig()
OH_AVErrCode OH_AVPlayer_SetDecryptionConfig(OH_AVPlayer *player, MediaKeySession *mediaKeySession,bool secureVideoPath)
描述
设置解密信息。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |MediaKeySession *mediaKeySession|具有解密功能的媒体密钥会话实例。| |bool secureVideoPath|是否需要安全解码器。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_INVALID_VAL:输入player为空指针或者player SetDecryptionConfig执行失败。|
OH_AVPlayer_SetOnInfoCallback()
OH_AVErrCode OH_AVPlayer_SetOnInfoCallback(OH_AVPlayer *player, OH_AVPlayerOnInfoCallback callback, void *userData)
描述
设置播放器消息回调监听函数。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |OH_AVPlayerOnInfoCallback callback|执行回调监听函数的指针,空指针表示取消设置播放器消息回调监听。| |void *userData|指向应用调用者设置的实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_NO_MEMORY:内存分配失败。
AV_ERR_INVALID_VAL: 输入player为空指针或者函数执行失败。|
OH_AVPlayer_SetOnErrorCallback()
OH_AVErrCode OH_AVPlayer_SetOnErrorCallback(OH_AVPlayer *player, OH_AVPlayerOnErrorCallback callback, void *userData)
描述
设置播放器错误回调监听函数。
系统能力: SystemCapability.Multimedia.Media.AVPlayer
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVPlayer *player|指向OH_AVPlayer实例的指针。| |OH_AVPlayerOnErrorCallback callback|执行回调监听函数的指针,空指针表示取消设置播放器错误回调监听。| |void *userData|指向应用调用者设置的实例的指针。|
返回:
|类型|说明|
|–|–|
|OH_AVErrCode|AV_ERR_OK:执行成功。
AV_ERR_NO_MEMORY:内存分配失败。
AV_ERR_INVALID_VAL: 输入player为空指针或者函数执行失败。|
你可能感兴趣的鸿蒙文章
harmony 鸿蒙Interface (AVImageGenerator)
harmony 鸿蒙Interface (AVMetadataExtractor)
harmony 鸿蒙Interface (AVPlayer)
harmony 鸿蒙Interface (AVRecorder)
harmony 鸿蒙Interface (AVScreenCaptureRecorder)
harmony 鸿蒙Interface (AVTranscoder)
harmony 鸿蒙废弃的Interface (AudioPlayer, deprecated)
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦