播放控制

更新时间: 2022/06/24 10:00:43

暂停播放和继续播放

暂停播放和继续播放功能只适用于点播。

  1. 在播放过程中若需要暂停播放,请调用 Nelp_Pause(_HNLPSERVICE hNLPService) 接口暂停当前的播放。

  2. 暂停后调用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 设置是否静音。
  • true:开启静音。
  • false:取消静音。

示例代码

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
  • 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)。

此文档是否对你有帮助?
有帮助
去反馈
  • 暂停播放和继续播放
  • 跳跃播放
  • 静音
  • 音量调节
  • 获取文件总时长
  • 获取当前播放的时间点
  • 获取当前可播放的时间点
  • 获取当前播放器的状态
  • 截图功能
  • 获取SDK版本号
  • 停止播放
  • 关闭播放器