2#include "plv-player-def.h"
35 const char* videoFilePath,
int rate);
131 int milliseconds,
int millisecondsMax);
162 const char* viewerId,
const char* viewerName,
const char* viewerAvatar,
163 const char* viewerExtraInfo1 = NULL,
const char* viewerExtraInfo2 = NULL,
const char* viewerExtraInfo3 = NULL);
345 const char* vid,
int property,
int format,
const char* value,
void* data);
356 const char* vid,
int inputRate,
int realRate,
void* data);
506 PLVPlayerPtr player,
bool enable,
int maxCacheBytes,
int maxCacheSeconds);
517 PLVPlayerPtr player,
int* maxCacheBytes,
int* maxCacheSeconds);
531 PLVPlayerPtr player,
const char* vid,
const char* path,
int rate);
551 int seekMillisecond,
bool autoDownRate,
bool playWithToken,
bool sync);
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkKeepLastFrame(bool enable)
设置是否播放结束保持在最后一帧画面上.
PLAYERSDK_API int PLAYERSDK_CALL PLVDeleteLocalVideoFile(const char *vid, const char *path, int rate)
删除本地离线视频文件
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkLogLevel(LOG_FILTER_TYPE level)
设置 SDK 的日志过滤等级.
PLAYERSDK_API int PLAYERSDK_CALL PLVInitSdkLibrary(const char *userId, const char *secretKey)
初始化 SDK , 在使用 SDK 前一定要调用此接口.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkHttpRequest(SDK_HTTP_REQUEST type)
设置 SDK 的网络请求协议.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkLogMessageCallback(bool enable, OnLogMessageHandler handler, void *data)
设置日志信息回调.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkRetryAttempts(int attempts, int milliseconds, int millisecondsMax)
设置下载的重试次数, 每次重试的间隔时间会递增. 默认是无限重试(-1).
PLAYERSDK_API void PLAYERSDK_CALL PLVReleaseSdkLibrary(void)
析构 SDK, 停止使用后要调用此接口.
PLAYERSDK_API bool PLAYERSDK_CALL PLVCheckFileComplete(const char *vid, const char *videoFilePath, int rate)
检查视频文件的完整性.
PLAYERSDK_API int PLAYERSDK_CALL PLVRequestVideoInfo(bool sync, const PLVVideoRequestParam *param, OnRequestVideoInfoHandler handler, void *data)
请求视频信息.
PLAYERSDK_API const char *PLAYERSDK_CALL PLVGetSdkVersion(void)
获取 SDK 版本号.
PLAYERSDK_API const char *PLAYERSDK_CALL PLVGetSdkErrorDescription(int err)
根据错误码获取错误描述.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkCacertFile(const char *fileName)
设置 https 协议的证书文件, 如果用 https 协议, 一定要设置证书文件, 不然会请求失败.
void(* OnLogMessageHandler)(LOG_FILTER_TYPE level, const char *message, void *data)
日志信息回调.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkVideoOutputDevice(VIDEO_OUTPUT_DEVICE type, const char *context=NULL)
设置视频输出驱动类型.
PLAYERSDK_API int PLAYERSDK_CALL PLVCancelRequestVideoInfo()
中断请求视频信息.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkLogFile(const char *fileName)
设置 SDK 的日志文件位置, 文件名带路径.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkHwdecEnable(bool enable)
设置是否使用硬件加速.
void(* OnRequestVideoInfoHandler)(int code, const PLVVideoRequestInfo infos[], int infosNum, const PLVVideoRequestPageInfo *pageInfo, void *data)
请求视频信息的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVMigrateLocalVideoKeyFile(const char *keyFilePath, const char *secretKey)
迁移旧的加密密钥, 换成使用 token 来加密密钥
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkViewerInfo(const char *viewerId, const char *viewerName, const char *viewerAvatar, const char *viewerExtraInfo1=NULL, const char *viewerExtraInfo2=NULL, const char *viewerExtraInfo3=NULL)
设置 qos 的信息追踪, 建议设置.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetAudioDeviceInfo(PLVPlayerPtr player, int index, char deviceId[PLV_MAX_DEVICE_ID_LENGTH], char deviceName[PLV_MAX_DEVICE_ID_LENGTH])
获取扬声器设备信息.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetDuration(PLVPlayerPtr player)
获取视频的时长.
PLAYERSDK_API bool PLAYERSDK_CALL PLVPlayerIsLoaded(PLVPlayerPtr player)
判断视频是否加载.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetVolume(PLVPlayerPtr player)
获取当前音量值.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetCurrentRate(PLVPlayerPtr player)
当前视频的清晰度.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetAudioDeviceCount(PLVPlayerPtr player)
获取扬声器设备总数.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetPropertyHandler(PLVPlayerPtr player, OnPlayerPropertyHandler handler, void *data)
设置播放属性值的回调通知.
void(* OnPlayerProgressHandler)(const char *vid, int millisecond, void *data)
播放进度的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetSpeed(PLVPlayerPtr player, double speed)
倍速播放, 通过作为参数给定的系数来减慢或加快播放速度.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerPlayLocal(PLVPlayerPtr player, int seekMillisecond, bool autoDownRate)
离线播放. 调用前必须设置视频的存放地址.
PLAYERSDK_API PLVPlayerPtr PLAYERSDK_CALL PLVPlayerCreate(void *window)
创建播放对象并返回对象指针. 在使用播放接口对象前, 必须先调用此接口创建对象.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetCurrentAudioDevice(PLVPlayerPtr player, const char deviceId[PLV_MAX_DEVICE_ID_LENGTH])
设置当前扬声器设备标识.
void(* OnPlayerAudioDeviceHandler)(int audioDeviceCount, void *data)
播放扬声器设备的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetSeek(PLVPlayerPtr player, int millisecond)
跳转到指定的播放位置.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerPlay(PLVPlayerPtr player, const char *token, int seekMillisecond, bool autoDownRate, bool playWithToken, bool sync)
播放视频.
PLAYERSDK_API double PLAYERSDK_CALL PLVPlayerGetSpeed(PLVPlayerPtr player)
获取视频播放倍数.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetLogoText(PLVPlayerPtr player, bool enable, const PLVLogoTextInfo *config)
设置 LOGO 信息
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetProgressHandler(PLVPlayerPtr player, OnPlayerProgressHandler handler, void *data)
设置播放进度的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSeekToEnd(PLVPlayerPtr player)
停止在最后一帧.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetCurrentAudioDevice(PLVPlayerPtr player, char deviceId[PLV_MAX_DEVICE_ID_LENGTH])
获取当前扬声器设备标识.
void(* OnPlayerPropertyHandler)(const char *vid, int property, int format, const char *value, void *data)
播放属性值的回调通知.
void(* OnPlayerRateChangeHandler)(const char *vid, int inputRate, int realRate, void *data)
播放清晰度的回调通知. 此回调的场景在:
void(* OnPlayerStateHandler)(const char *vid, int state, void *data)
播放状态的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetVolume(PLVPlayerPtr player, int volume)
设置播放声音.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerScreenshot(PLVPlayerPtr player, const char *filename)
视频截屏.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetMute(PLVPlayerPtr player, bool mute)
设置是否静音状态.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetOSDConfig(PLVPlayerPtr player, bool enable, const PLVOsdConfigInfo *config)
设置跑马灯信息
PLAYERSDK_API bool PLAYERSDK_CALL PLVPlayerIsValid(PLVPlayerPtr player)
判断是否加载还是空闲状态.
PLAYERSDK_API bool PLAYERSDK_CALL PLVPlayerIsMute(PLVPlayerPtr player)
判断是否静音状态.
PLAYERSDK_API bool PLAYERSDK_CALL PLVPlayerIsPlaying(PLVPlayerPtr player)
判断是否播放中.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetOSDConfig(PLVPlayerPtr player, PLVOsdConfigInfo &config)
获取跑马灯信息.
PLAYERSDK_API void PLAYERSDK_CALL PLVPlayerDestroy(PLVPlayerPtr player)
销毁播放对象. 不再使用创建的对象后, 必须调用此接口回收.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetCacheConfig(PLVPlayerPtr player, bool enable, int maxCacheBytes, int maxCacheSeconds)
设置播放缓存信息.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerResetHandler(PLVPlayerPtr player)
重置所有回调通知, 会请空所有的回调函数地址.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetLogoText(PLVPlayerPtr player, PLVLogoTextInfo &config)
获取 LOGO 信息.
void * PLVPlayerPtr
播放对象, 每一个播放对象同时只能播放一个视频, 可以创建多个播放对象.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerStop(PLVPlayerPtr player)
停止播放.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetStateHandler(PLVPlayerPtr player, OnPlayerStateHandler handler, void *data)
设置播放状态的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerPause(PLVPlayerPtr player, bool pause)
设置是否暂停状态.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetInfo(PLVPlayerPtr player, const char *vid, const char *path, int rate)
设置视频信息. 在调用播放前, 必须先设置视频的相关信息, 否则会报错.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetCurrentRateCount(PLVPlayerPtr player)
获取视频的清晰度总数.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetAudioDeviceHandler(PLVPlayerPtr player, OnPlayerAudioDeviceHandler handler, void *data)
设置扬声器热插拔的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerGetCacheConfig(PLVPlayerPtr player, int *maxCacheBytes, int *maxCacheSeconds)
获取缓存信息.
PLAYERSDK_API bool PLAYERSDK_CALL PLVPlayerIsPause(PLVPlayerPtr player)
判断是否暂停状态.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetRateChangeHandler(PLVPlayerPtr player, OnPlayerRateChangeHandler handler, void *data)
设置清晰度变化的回调通知. 只有输入清度为 VIDEO_RATE_AUTO 才会触发此回调.
PLAYERSDK_API bool PLAYERSDK_CALL PLVPlayerIsLoading(PLVPlayerPtr player)
判断视频是否加载中.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetVolumeMax(PLVPlayerPtr player, int volume)
设置声音增益.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerLoadLocal(PLVPlayerPtr player, int seekMillisecond, bool autoDownRate)
离线加载视频, 不自动播放. 调用前必须设置视频的存放地址.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerReloadAudioDevice(PLVPlayerPtr player)
重置扬声器设备. 使用场景, 可以在收到设备变动回调, 再调用此接口即可.
void(* OnDetectHardwareRecordingHandler)(DEVICE_CHANGED_TYPE type, const char *device, void *data)
硬件设备变动的回调通知, 此回调可以用于防止 HDMI 硬件录制, 业务侧可以根据回调类型进行播放器是否禁播操作.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetDetectHardwareRecordingHandler(bool enable, OnDetectHardwareRecordingHandler handler, void *data)
设置设备插拔变动的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetPreventSoftwareRecording(void *window, bool enable)
设置播放窗口的软件防录制, 用于防止屏幕录制或屏幕截图.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetDetectSoftwareRecordingHandler(bool enable, OnDetectSoftwareRecordingHandler handler, void *data)
设置软件录制的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVGetPreventSoftwareRecording(void *window, bool *enable)
获取播放窗口是否开启软件防录制.
void(* OnDetectSoftwareRecordingHandler)(SOFTWARE_RECORDING_NOTIFY_TYPE type, const char *softwares, void *data)
软件录制的回调通知.
SOFTWARE_RECORDING_NOTIFY_TYPE
const int PLV_MAX_DEVICE_ID_LENGTH