播放控制
更新时间: 2024/08/07 10:23:29
暂停播放和继续播放
暂停播放和继续播放功能只适用于点播。
-
在播放过程中若需要暂停播放,请调用
Nelp_Pause(_HNLPSERVICE hNLPService)
接口暂停当前的播放。 -
暂停后调用
Nelp_Resume(_HNLPSERVICE hNLPService)
接口即可恢复播放。
参数说明如下:
参数 | 说明 |
---|---|
hNLPService | 创建成功的播放器实例。 |
示例代码
Nelp_Pause(m_hNelpService);
Nelp_Resume(m_hNelpService);
跳跃播放
跳跃播放是指在播放过程中指定播放到某一时间点的视频。
跳跃播放功能只适用于点播。
调用 Nelp_SeekTo(_HNLPSERVICE hNLPService, long long llTime)
接口设置跳跃播放。
参数说明如下:
参数 | 说明 |
---|---|
hNLPService | 创建成功的播放器实例。 |
llTime | 指定的播放时间点(单位秒:s)。 |
示例代码
Nelp_SeekTo(m_hNelpService, 300);
静音
在播放过程中调用 Nelp_SetMute(_HNLPSERVICE hNLPService, bool bIsMute)
接口开启静音。
参数说明如下:
参数 | 说明 |
---|---|
hNLPService | 创建成功的播放器实例。 |
bIsMute | 设置是否静音。
|
示例代码
bool bIsMute = true;
if (bIsMute) {
// 开启静音
Nelp_SetMute(m_hNelpService, true);
}
else {
// 取消静音
Nelp_SetMute(m_hNelpService, false);
}
音量调节
在播放过程中可以调用 Nelp_SetVolume(_HNLPSERVICE hNLPService, float fVolume)
接口进行音量调节。
参数说明如下:
参数 | 说明 |
---|---|
hNLPService | 创建成功的播放器实例。 |
fVolume | 设置音量大小。取值范围:0.0 ~ 1.0
|
示例代码
Nelp_SetVolume(m_hNelpService, 0.8);
获取文件总时长
获取文件总时长功能只适用于点播。
对于点播的视频文件,您可以调用Nelp_GetDuration(_HNLPSERVICE hNLPService)
接口获取点播文件的总时长。
单位:s。
示例代码
long long lDuration = Nelp_GetDuration(m_hNelpService);
if (lDuration < 0) {
// 获取失败;
}
获取当前播放的时间点
在播放过程中,您可以调用Nelp_GetCurrentPlaybackTime(_HNLPSERVICE hNLPService)
接口获取当前播放的时间点。
单位:s。
示例代码
long lCurrentPos = Nelp_GetCurrentPlaybackTime(m_hNelpService);
if (lCurrentPos < 0) {
// 获取失败;
}
获取当前可播放的时间点
此功能只适用于点播。
对于点播的视频文件,您可以调用Nelp_GetPlayableDuration(_HNLPSERVICE hNLPService)
接口获取当前可播放的时间点,即已缓存的位置。
单位:s。
示例代码
long lPlayablePos = Nelp_GetPlayableDuration(m_hNelpService);
if (lPlayablePos < 0) {
// 获取失败;
}
获取当前播放器的状态
在播放过程中,您可以调用 Nelp_GetPlaybackState(_HNLPSERVICE hNLPService)
接口获取当前播放器的状态。
具体的播放状态的枚举值请参见EN_NELP_PLAYBACK_STATE
。
示例代码
EN_NELP_PLAYBACK_STATE playState = Nelp_GetPlaybackState(m_hNelpService);
if (playState == EN_NELP_GET_PLAYBACK_STATE_FAILED) {
// 获取状态失败
}
截图功能
在播放过程中,您可以调用 Nelp_GetSnapshot(_HNLPSERVICE hNLPService, EN_NELP_PICTURE_FORMAT ePFormat)
接口进行截图。
返回的是调用时刻的视频画面的位图数据,可以指定为 ARGB32 或 RGB24 格式。
返回的ST_NELP_PICTURE *
指针指向的内存不需要调用者释放,不能保存此指针,也不能跨线程使用(若要跨线程使用,调用者需要自己申请内存并拷贝数据)。
参数说明如下:
参数 | 说明 |
---|---|
hNLPService | 创建成功的播放器实例。 |
ePFormat | 返回的图片格式 |
示例代码
ST_NELP_PICTURE *sPicture = NULL;
sPicture = Nelp_GetSnapshot(m_hNelpService, EN_PIC_ARGB8888); // 返回的是ARGB8888格式的图片类型
获取SDK版本号
调用Nelp_GetSDKVersion
接口获取 SDK 版本号,返回值为const char* 类型。
此字符串内存不需要调用者释放。
示例代码
char *paSdkVersion;
paSdkVersion = Nelp_GetSDKVersion();
停止播放
在成功开始播放后,若想停止播放,请调用 Nelp_Stop(_HNLPSERVICE hNLPService)
接口。
此接口相当于 Nelp_Start
的逆操作,也需要在UI线程调用。如果忘记调用,sdk会在Nelp_Shutdown
接口内部调用它。
示例代码
Nelp_Stop(m_hNelpService);
关闭播放器
调用Nelp_Shutdown(_HNLPSERVICE hNLPService)
接口关闭播放器。
此接口停止一切解码和播放任务,销毁播放器实例的所有成员对象,并最终销毁播放器实例。接口调用后,应将播放器实例句柄置为NULL。
示例代码
Nelp_Shutdown(m_hNelpService);
m_hNelpService = NULL;
关闭成功,上层会收到资源释放成功的回调,见2.2中的步骤(3)。