Beispiel #1
0
        /// <summary>
        /// 在多ZLMediaKit部署模式下,调用ZLM接口前,应先调用此方法设置具体的ZLMediaKit
        /// </summary>
        /// <param name="mediaServerId"></param>
        /// <returns></returns>
        public ZLHttpClient SetMediaServerId(string mediaServerId)
        {
            this.MediaServerId = mediaServerId;
            ZLMediaKitSettings config = default;

            ZLMediaKitSettings.ZLMediaKitSettingsDict.TryGetValue(mediaServerId, out config);
            if (config == default)
            {
                throw new NullReferenceException("ZLMediaKit服务器配置不存在");
            }
            this.Request = config.HttpUrl
                           .WithTimeout(config.Timeout)
                           .ConfigureRequest(action =>
            {
                action.CookiesEnabled = false;
            })
                           .SetQueryParam("secret", config.ApiSecret);
            return(this);
        }
 /// <summary>
 /// ZLMediaKit Client 注册
 /// </summary>
 /// <param name="zLMediaKitSettings"></param>
 public static void Register(ZLMediaKitSettings zLMediaKitSettings)
 {
     if (zLMediaKitSettings == null)
     {
         throw new InvalidDataException("ZLMediaKitSettings 不能为空");
     }
     if (string.IsNullOrEmpty(zLMediaKitSettings.IpAddress))
     {
         throw new InvalidDataException("IpAddress 不能为空");
     }
     if (zLMediaKitSettings.ApiPort == 0)
     {
         throw new InvalidDataException("ApiPort 参数值错误");
     }
     if (string.IsNullOrEmpty(zLMediaKitSettings.MediaServerId))
     {
         throw new InvalidDataException("MediaServerId 不能为空");
     }
     if (string.IsNullOrEmpty(zLMediaKitSettings.ApiSecret))
     {
         throw new InvalidDataException("ApiSecret 不能为空");
     }
     ZLMediaKitSettings.ZLMediaKitSettingsDict[zLMediaKitSettings.MediaServerId] = zLMediaKitSettings;
 }