package com.netsdk.demo.customize.courseRecord.modules;
|
|
import com.netsdk.lib.NetSDKLib;
|
import com.netsdk.lib.ToolKits;
|
import com.netsdk.lib.structure.*;
|
|
/**
|
* 录播主机通道号、属性等信息的获取函数
|
*
|
* @author : 47040
|
* @since : Created in 2020/9/18 9:11
|
*/
|
public class CourseChannelModule {
|
|
// The constant net sdk
|
public static final NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE;
|
|
// The constant config sdk.
|
public static final NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE;
|
|
/**
|
* 获取逻辑通道对应的真实预览通道号
|
*
|
* @param lLoginID 登录句柄
|
* @param stuIn 入参
|
* @param stuOut 出参
|
* @param waitTime 超时时间
|
* @return 是否成功
|
*/
|
public static boolean GetRealPreviewChannel(NetSDKLib.LLong lLoginID,
|
NET_IN_GET_REAL_PREVIEW_CHANNEL stuIn,
|
NET_OUT_GET_REAL_PREVIEW_CHANNEL stuOut,
|
int waitTime) {
|
stuIn.write();
|
stuOut.write();
|
boolean ret = netsdk.CLIENT_GetRealPreviewChannel(lLoginID, stuIn.getPointer(), stuOut.getPointer(), waitTime);
|
if (!ret) {
|
System.err.println("Get Real Preview Channel failed!" + ToolKits.getErrorCode());
|
return false;
|
}
|
stuOut.read();
|
System.out.println("Get Real Preview Channel succeed!");
|
return true;
|
}
|
|
|
/**
|
* 获取当前摄像机绑定的逻辑通道
|
*
|
* @param lLoginID 登录句柄
|
* @param stuIn 入参
|
* @param stuOut 出参
|
* @param waitTime 超时时间
|
* @return 是否成功
|
*/
|
public static boolean GetLogicChannel(NetSDKLib.LLong lLoginID,
|
NET_IN_GET_COURSE_LOGIC_CHANNEL stuIn,
|
NET_OUT_GET_COURSE_LOGIC_CHANNEL stuOut,
|
int waitTime) {
|
stuIn.write();
|
stuOut.write();
|
boolean ret = netsdk.CLIENT_GetLogicChannel(lLoginID, stuIn.getPointer(), stuOut.getPointer(), waitTime);
|
if (!ret) {
|
System.err.println("Get Logic Channel failed!" + ToolKits.getErrorCode());
|
return false;
|
}
|
stuOut.read();
|
System.out.println("Get Logic Channel succeed!");
|
return true;
|
}
|
|
/**
|
* 获取录播主机默认真实通道号
|
*
|
* @param lLoginID 登录句柄
|
* @param stuIn 入参
|
* @param stuOut 出参
|
* @param waitTime 超时时间
|
* @return 是否成功
|
*/
|
public static boolean GetDefaultRealChannel(NetSDKLib.LLong lLoginID,
|
NET_IN_GET_DEFAULT_REAL_CHANNEL stuIn,
|
NET_OUT_GET_DEFAULT_REAL_CHANNEL stuOut,
|
int waitTime) {
|
stuIn.write();
|
stuOut.write();
|
boolean ret = netsdk.CLIENT_GetDefaultRealChannel(lLoginID, stuIn.getPointer(), stuOut.getPointer(), waitTime);
|
if (!ret) {
|
System.err.println("Get Default Real Channel failed!" + ToolKits.getErrorCode());
|
return false;
|
}
|
stuOut.read();
|
System.out.println("Get Default Real Channel succeed!");
|
return true;
|
}
|
|
/**
|
* 设置逻辑通道号和真实通道号的绑定关系
|
*
|
* @param lLoginID 登录句柄
|
* @param stuIn 入参
|
* @param stuOut 出参
|
* @param waitTime 超时时间
|
* @return 是否成功
|
*/
|
public static boolean SetBlindRealChannel(NetSDKLib.LLong lLoginID,
|
NET_IN_SET_BLIND_REAL_CHANNEL stuIn,
|
NET_OUT_SET_BLIND_REAL_CHANNEL stuOut,
|
int waitTime) {
|
stuIn.write();
|
stuOut.write();
|
boolean ret = netsdk.CLIENT_SetBlindRealChannel(lLoginID, stuIn.getPointer(), stuOut.getPointer(), waitTime);
|
if (!ret) {
|
System.err.println("Set Blind Real Channel failed!" + ToolKits.getErrorCode());
|
return false;
|
}
|
stuOut.read();
|
System.out.println("Set Blind Real Channel succeed!");
|
return true;
|
}
|
|
/**
|
* 获取录播主机通道输入媒体介质
|
*
|
* @param lLoginID 登录句柄
|
* @param stuIn 入参
|
* @param stuOut 出参
|
* @param waitTime 超时时间
|
* @return 是否成功
|
*/
|
public static boolean GetInputChannelMedia(NetSDKLib.LLong lLoginID,
|
NET_IN_GET_INPUT_CHANNEL_MEDIA stuIn,
|
NET_OUT_GET_INPUT_CHANNEL_MEDIA stuOut,
|
int waitTime) {
|
|
stuIn.write();
|
stuOut.write();
|
boolean ret = netsdk.CLIENT_GetInputChannelMedia(lLoginID, stuIn.getPointer(), stuOut.getPointer(), waitTime);
|
if (!ret) {
|
System.err.println("Get Input Channel Media failed!" + ToolKits.getErrorCode());
|
return false;
|
}
|
stuOut.read();
|
System.out.println("Get Input Channel Media succeed!");
|
return true;
|
}
|
}
|