package com.netsdk.demo.customize.courseRecord;
|
|
import com.netsdk.demo.customize.courseRecord.frame.CourseRecordMainFrame;
|
import com.netsdk.lib.NetSDKLib;
|
import com.netsdk.lib.ToolKits;
|
import com.sun.jna.Native;
|
|
import java.awt.*;
|
|
/**
|
* @author : 47040
|
* @since : Created in 2020/9/28 14:10
|
*/
|
public class CourseRecordRealPlay {
|
|
private CourseRecordMainFrame mainFrame;
|
|
private Panel playWindow;
|
|
// The constant net sdk
|
public static final NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE;
|
|
// The constant config sdk.
|
public static final NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE;
|
|
public CourseRecordRealPlay(CourseRecordMainFrame Frame, Panel playWindow) {
|
this.mainFrame = Frame;
|
this.playWindow = playWindow;
|
}
|
|
public NetSDKLib.LLong m_hLiveSteam = new NetSDKLib.LLong(0);
|
|
public void play(int channel) {
|
int playType = NetSDKLib.NET_RealPlayType.NET_RType_Realplay; // 实时预览
|
|
m_hLiveSteam = netsdk.CLIENT_RealPlayEx(mainFrame.courseRecordLogon.m_hLoginHandle,
|
channel, Native.getComponentPointer(playWindow), playType);
|
|
if (m_hLiveSteam.longValue() == 0) {
|
System.err.println("开始实时预览失败! " + ToolKits.getErrorCode());
|
} else {
|
System.out.println("Start RealPlay Succeed!");
|
playWindow.setVisible(true);
|
}
|
}
|
|
//结束调用
|
public void stopPlay() {
|
if (m_hLiveSteam.longValue() == 0) {
|
System.err.println("Please make sure the RealPlay Handle is valid!");
|
return;
|
}
|
if (!netsdk.CLIENT_StopRealPlayEx(m_hLiveSteam)) {
|
System.err.println("Stop RealPlay Failed");
|
} else {
|
System.out.println("Stop RealPlay Succeed!");
|
m_hLiveSteam.setValue(0);
|
playWindow.repaint();
|
}
|
}
|
}
|