本文档提供了使用 C++SDK 的操作步骤及代码示例,通过本文您可以快速了解如何使用 SDK 提供的功能。您也可以通过 Demo 中的示例进行了解和自有业务开发。
std::count << "the log file result:" << ret << std::endl;
std::string viewerId = "业务id";
std::string viewerName = "业务nick";
std::string viewerAvatar= "业务Avatar";
std::cout << "init sdk result:" << ret << std::endl;
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkKeepLastFrame(bool enable)
设置是否播放结束保持在最后一帧画面上.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkLogLevel(LOG_FILTER_TYPE level)
设置 SDK 的日志过滤等级.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkSeed(const char *seed)
设置解密 seed.
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 int PLAYERSDK_CALL PLVInitSdkLibrary(const PLVAccountInfo *info)
初始化 SDK , 在使用 SDK 前一定要调用此接口.
PLAYERSDK_API const char *PLAYERSDK_CALL PLVGetSdkVersion(void)
获取 SDK 版本号.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkVideoOutputDevice(VIDEO_OUTPUT_DEVICE type, const char *context=NULL)
设置视频输出驱动类型.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkLocalRememberPlay(bool enable)
本地记忆续播放功能.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkLogFile(const char *fileName)
设置 SDK 的日志文件位置, 文件名带路径.
PLAYERSDK_API int PLAYERSDK_CALL PLVSetSdkHwdecEnable(bool enable)
设置是否使用硬件加速.
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 的信息追踪, 建议设置.
const char * userId
主帐号的userId, 请向 SDK 供应商获取.
[](SOFTWARE_RECORDING_NOTIFY_TYPE type, const char* softwares, void* data){
}, userdata);
}, userdata);
PLAYERSDK_API int PLAYERSDK_CALL PLVDetectVM()
检测当前虚拟机环境.
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)
设置软件录制的回调通知.
}, userdata);
}, userdata);
}, userdata);
PLAYERSDK_API PLVDownloadPtr PLAYERSDK_CALL PLVDownloadCreate()
创建下载对象并返回对象指针. 在使用下载接口对象前, 必须先调用此接口创建对象.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadDelete(PLVDownloadPtr download)
删除视频文件. 如果视频正在下载中时, 会中断下载, 并删除所有临时文件, 并退出线程.
void * PLVDownloadPtr
下载对象, 每一个下载任务对应一个下载对象, 可以创建多个下载对象.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadStart(PLVDownloadPtr download, const char *token, bool autoDownRate)
开始下载.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadSetInfo(PLVDownloadPtr download, const char *vid, const char *path, int rate)
设置视频信息. 在调用下载前, 必须先设置视频的相关信息, 否则会报错.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadSetErrorHandler(PLVDownloadPtr download, OnDownloadErrorHandler handler, void *data)
设置下载错误的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadPause(PLVDownloadPtr download, bool pause)
暂停下载, 此时线程进入休眠, 不会退出, 区别于停止下载. 再开始下载时会更快些.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadSetResultHandler(PLVDownloadPtr download, OnDownloadResultHandler handler, void *data)
设置下载结果的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadStop(PLVDownloadPtr download)
停止下载, 此时线程会回收退出, 区别于暂停下载. 再开始下载时会慢些.
PLAYERSDK_API void PLAYERSDK_CALL PLVDownloadDestroy(PLVDownloadPtr download)
销毁下载对象. 不再使用创建的对象后, 必须调用此接口回收.
PLAYERSDK_API int PLAYERSDK_CALL PLVDownloadSetProgressHandler(PLVDownloadPtr download, OnDownloadProgressHandler handler, void *data)
设置下载进度的回调通知.
}, userdata);
}, userdata);
}, userdata);
}, userdata);
}, userdata);
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetPropertyHandler(PLVPlayerPtr player, OnPlayerPropertyHandler handler, void *data)
设置播放属性值的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetSpeed(PLVPlayerPtr player, double speed)
倍速播放, 通过作为参数给定的系数来减慢或加快播放速度.
PLAYERSDK_API PLVPlayerPtr PLAYERSDK_CALL PLVPlayerCreate(void *window)
创建播放对象并返回对象指针. 在使用播放接口对象前, 必须先调用此接口创建对象.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetCurrentAudioDevice(PLVPlayerPtr player, const char deviceId[PLV_MAX_DEVICE_ID_LENGTH])
设置当前扬声器设备标识.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetSeek(PLVPlayerPtr player, int millisecond)
跳转到指定的播放位置.
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])
获取当前扬声器设备标识.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerPlay(PLVPlayerPtr player, const char *token, int seekMillisecond, bool autoDownRate)
播放视频.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetAudioPlayErrorHandler(PLVPlayerPtr player, OnPlayerAudioPlayErrorHandler handler, 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 void PLAYERSDK_CALL PLVPlayerDestroy(PLVPlayerPtr player)
销毁播放对象. 不再使用创建的对象后, 必须调用此接口回收.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetCacheConfig(PLVPlayerPtr player, bool enable, int maxCacheBytes, int maxCacheSeconds)
设置播放缓存信息.
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 PLVPlayerSetRateChangeHandler(PLVPlayerPtr player, OnPlayerRateChangeHandler handler, void *data)
设置清晰度变化的回调通知. 只有输入清度为 VIDEO_RATE_AUTO 才会触发此回调.
PLAYERSDK_API int PLAYERSDK_CALL PLVPlayerSetVolumeMax(PLVPlayerPtr player, int volume)
设置声音增益.
}, userdata);
}, userdata);
}, userdata);
}, userdata);
},userdata);
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetChannelStateHandler(PLVLivePlayerPtr player, OnLivePlayerChannelStateHandler handler, void *data)
设置频道直播状态改变回调.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerPlay(PLVLivePlayerPtr player, const char *channelId)
播放频道直播,始终采用异步模式,中途可随时停止.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerMute(PLVLivePlayerPtr player, bool mute)
设置是否静音状态.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerScreenshot(PLVLivePlayerPtr player, const char *filename)
视频截屏.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetPlayMode(PLVLivePlayerPtr player, int playMode)
设置播放模式,通过频道信息回调获取频道是否支持音视频播放模式.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetPropertyHandler(PLVLivePlayerPtr player, OnLivePlayerPropertyHandler handler, void *data)
设置播放属性值的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetQuality(PLVLivePlayerPtr player, int qualityIndex)
设置播放清晰度,通过频道信息回调获取频道清晰度信息.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerPause(PLVLivePlayerPtr player, bool pause)
暂停或继续播放.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetVolumeMax(PLVLivePlayerPtr player, int volume)
设置声音增益.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetLine(PLVLivePlayerPtr player, int lineIndex)
设置播放线路,通过频道信息回调获取频道线路信息.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetCurrentAudioDevice(PLVLivePlayerPtr player, const char deviceId[PLV_MAX_DEVICE_ID_LENGTH])
设置当前扬声器设备标识.
PLAYERSDK_API PLVLivePlayerPtr PLAYERSDK_CALL PLVLivePlayerCreate(void *window)
创建直播播放对象并返回对象指针.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerGetCurrentAudioDevice(PLVLivePlayerPtr player, char deviceId[PLV_MAX_DEVICE_ID_LENGTH])
获取当前扬声器设备标识.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetChannelInfoHandler(PLVLivePlayerPtr player, OnLivePlayerChannelInfoHandler handler, void *data)
设置频道信息回调.
PLAYERSDK_API void PLAYERSDK_CALL PLVLivePlayerDestroy(PLVLivePlayerPtr player)
销毁播放对象.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetAudioPlayErrorHandler(PLVLivePlayerPtr player, OnLivePlayerAudioPlayErrorHandler handler, void *data)
设置音频播放错误回调.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetStateHandler(PLVLivePlayerPtr player, OnLivePlayerStateHandler handler, void *data)
设置播放状态的回调通知.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetOSDConfig(PLVLivePlayerPtr player, bool enable, const PLVOsdConfigInfo *config)
设置跑马灯信息
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetVolume(PLVLivePlayerPtr player, int volume)
设置播放声音.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetCacheConfig(PLVLivePlayerPtr player, int cacheMs, bool speedTrackingEnable, bool seekTrackingEnable)
设置播放缓存信息.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerStop(PLVLivePlayerPtr player)
停止播放.
void * PLVLivePlayerPtr
播放对象, 每一个播放对象同时只能播放一个频道视频, 可以创建多个播放对象.
PLAYERSDK_API int PLAYERSDK_CALL PLVLivePlayerSetLogoText(PLVLivePlayerPtr player, bool enable, const PLVLogoTextInfo *config)
设置 LOGO 信息