private SmcErr StopCameraRtpAudio(string channelLabel)
{
SmcErr err = new CgwError();
NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
// 判断监控通道是否存在
if (!this.monitorChannelRelationDic.ContainsKey(channelLabel))
{
// 日志
err.SetErrorNo(CgwError.ERR_CGW_BUSINESS_CHANNELNO_NULL);
logEx.Trace("StopCameraRtpAudio can't find channelLabel:{0}", channelLabel);
return err;
}
string oldCameraNo = this.monitorChannelRelationDic[channelLabel].CameraNo;
if (!string.IsNullOrEmpty(oldCameraNo))
{
// 停止码流
err = this.TryStopSendRtpData(oldCameraNo, channelLabel);
if (!err.IsSuccess())
{
logEx.Trace("StopCameraRtpAudio (channelLabel:{0},oldCameraNo:{1}) StopRtp failed,errNo={2}.", channelLabel, oldCameraNo, err.ErrNo);
return err;
}
// 关闭音频码流
err = this.SetCameraAudio(channelLabel, oldCameraNo, false);
if (!err.IsSuccess())
{
logEx.Trace("StopCameraRtpAudio (channelLabel:{0},oldCameraNo:{1}) StartAudio failed,errNo={2}.", channelLabel, oldCameraNo, err.ErrNo);
return err;
}
this.monitorChannelRelationDic[channelLabel].CameraNo = null;
}
return err;
}