/// <summary> /// 打开一路码流,返回一个可用的通道 ID /// </summary> /// <param name="playerHandle">PLAYER_HANDLE句柄.</param> /// <param name="channelType">通道源类型.</param> /// <param name="streamURI">有效的源地址.</param> /// <param name="mediaType">媒体类型【媒体类型 MEDIA_TYPE_VIDEO | MEDIA_TYPE_AUDIO | MEDIA_TYPE_EVENT)】 暂保留.</param> /// <param name="callback">回调函数.</param> /// <param name="userPtr">用户自定义指针.</param> /// <param name="reconnection">是否重连【1表示无限次重连,0表示不重连,大于1表示指定次数重连(需小于1000)】默认1.</param> /// <param name="queueSize">缓冲队列大小, 需大于1024*512.默认1024 * 512 * 2</param> /// <param name="rtpOverTcp">true 为tcp,否则为udp.默认1</param> /// <param name="multiplex">true:复用源,即打开同一个url时,到前端的连接只有一个;false:不复用, 打开多少个url,就有多少个连接*默认true /// <returns>可用的通道 ID.</returns> public static int LibEasyPlayerPro_OpenStream(IntPtr playerHandle, EASY_CHANNEL_SOURCE_TYPE_ENUM channelType, string streamURI, MEDIA_TYPE mediaType, EasyPlayerProCallBack callback, IntPtr userPtr, uint reconnection = 1, uint queueSize = 1024 * 512 * 2, bool overTcp = true, bool multiplex = true) { int ret = LibEasyPlayerPro_OpenStream(playerHandle, channelType, streamURI, overTcp ? (byte)1 : (byte)0, mediaType, callback, userPtr, reconnection, 0, queueSize, multiplex ? (uint)1 : (uint)0); return(ret); }
private static extern int LibEasyPlayerPro_OpenStream(IntPtr playerHandle, EASY_CHANNEL_SOURCE_TYPE_ENUM channelType, string streamURI, byte rtpOverTcp, MEDIA_TYPE mediaType, EasyPlayerProCallBack callback, IntPtr userPtr, uint reconnection, uint heartbeatType, uint queueSize, uint multiplex);