package com.netsdk.demo.customize.courseRecord; import com.netsdk.lib.NetSDKLib; import com.netsdk.lib.ToolKits; import com.netsdk.lib.enumeration.EM_COMPOSIT_CHANNEL_BIND_MODE; import com.netsdk.lib.structure.NET_CFG_COURSE_RECORD_DEFAULT_CONFIG; import com.sun.jna.ptr.IntByReference; import static com.netsdk.lib.enumeration.NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_COURSE_RECORD_DEFAULT_CONFIG; /** * @author : 47040 * @since : Created in 2020/9/27 15:04 */ public class TestCourseRecordConfig { // The constant net sdk public static final NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE; // The constant config sdk. public static NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE; /** * 修改默认模式 * 这里的用例是:修改合成通道模式为多画面模式 */ public void SetSteamConfigTest(NetSDKLib.LLong m_login) { NET_CFG_COURSE_RECORD_DEFAULT_CONFIG steamConfig = new NET_CFG_COURSE_RECORD_DEFAULT_CONFIG(); // 先获取原先的默认配置 steamConfig.write(); int emCfgOpType = NET_EM_CFG_COURSE_RECORD_DEFAULT_CONFIG; // 配置类型的枚举 boolean ret1 = netsdk.CLIENT_GetConfig(m_login, emCfgOpType, -1, steamConfig.getPointer(), steamConfig.size(), 3000, null); if (!ret1) { System.err.println("获取录播默认配置失败:" + ToolKits.getErrorCode()); return; } steamConfig.read(); System.out.println("获取录播默认配置成功!"); steamConfig.nCompositChannelMode = 2; // 修改 CompositeChannelMode 为 2 常态模式(多画面) steamConfig.write(); boolean ret2 = netsdk.CLIENT_SetConfig(m_login, emCfgOpType, -1, steamConfig.getPointer(), steamConfig.size(), 3000, new IntByReference(0), null); if (!ret2) { System.err.println("设置录播默认配置失败:" + ToolKits.getErrorCode()); } System.out.println("设置录播默认配置成功!"); } /** * 获取默认模式 */ public void GetSteamConfigTest(NetSDKLib.LLong m_login) { NET_CFG_COURSE_RECORD_DEFAULT_CONFIG steamConfig = new NET_CFG_COURSE_RECORD_DEFAULT_CONFIG(); // 先获取原先的默认配置 steamConfig.write(); int emCfgOpType = NET_EM_CFG_COURSE_RECORD_DEFAULT_CONFIG; // 配置类型的枚举 boolean ret1 = netsdk.CLIENT_GetConfig(m_login, emCfgOpType, -1, steamConfig.getPointer(), steamConfig.size(), 3000, null); if (!ret1) { System.err.println("获取录播默认配置失败:" + ToolKits.getErrorCode()); return; } steamConfig.read(); System.out.println("获取录播默认配置成功!"); StringBuilder info = new StringBuilder().append("///--->录播默认配置如下:").append("\n") // 0: 无效, 1: 电影模式, 2: 常态模式, 3: 精品模式, 小于0: 自定义模式 .append("nCompositChannelMode 组合通道模式: ").append(steamConfig.emCompositChannelBindMode).append("\n") .append("//--> nCanStartStreamNum 可拉流逻辑通道数: ").append(steamConfig.nCanStartStreamNum).append("\n"); for (int i = 0; i < steamConfig.nCanStartStreamNum; i++) { info.append(String.format("逻辑通道【%2d】: ", steamConfig.emCanStartStream[i])).append("\n"); } info.append("//--> nIsRecordNum 可录像逻辑通道数: ").append(steamConfig.nIsRecordNum).append("\n"); for (int i = 0; i < steamConfig.nIsRecordNum; i++) { info.append(String.format("逻辑通道【%2d】: ", steamConfig.emIsRecord[i])).append("\n"); } info.append("emCompositChannelBindMode 默认组合通道绑定模式: ").append(EM_COMPOSIT_CHANNEL_BIND_MODE.getNoteByValue(steamConfig.emCompositChannelBindMode)).append("\n"); System.out.println(info.toString()); } }