Procházet zdrojové kódy

Z991239-5559 #comment 增加音频设备识别情况下RTA

80274480 před 1 rokem
rodič
revize
4c3860e5f8

+ 8 - 0
Module/mod_mediacontroller/mod_mediacontroller.cpp

@@ -2077,7 +2077,11 @@ void MediaServiceSession::Handle_ManipulateCameras(SpReqAnsContext<MediaService_
 	if (ctx->Req.cmdType == 0) {
 		if (m_pEntity->m_bStartCamera) {
 			Error = m_pEntity->StopCamerasAndRecord();
+#ifdef RVC_OS_WIN
 			Sleep(200);
+#else
+			usleep(200*1000);
+#endif
 		}
 		else {
 			m_pEntity->LogTransactionRecordCtrEvt(0);
@@ -2087,7 +2091,11 @@ void MediaServiceSession::Handle_ManipulateCameras(SpReqAnsContext<MediaService_
 		m_pEntity->m_bJsOccupyCamera = true;
 	}
 	else {
+#ifdef RVC_OS_WIN
 		Sleep(100);
+#else
+		usleep(100*1000);
+#endif
 		if (m_pEntity->m_bOnBusiness) {
 			Error = m_pEntity->StartCamerasAndRecord();
 		}

+ 9 - 3
Module/mod_sipphone/mod_sipphone.cpp

@@ -744,7 +744,7 @@ ErrorCodeEnum CSIPEntity::ConnectAssistChannel()
 }
 
 
-void CSIPEntity::HandleUSBAudioDeviceErrorEvent()
+void CSIPEntity::HandleHandfreeAudioDeviceErrorEvent()
 {
 	char strNow[MAX_PATH] = { 0 };
 #ifdef RVC_OS_WIN
@@ -769,6 +769,7 @@ void CSIPEntity::HandleUSBAudioDeviceErrorEvent()
 		LoadRestartRunConfig(ulasttime);
 		if (utime - ulasttime > m_itervalTime * 60) {
 			LogWarn(Severity_Low, Error_Debug, LOG_EVT_SIPPHONE_RETART_REQUEST, "请求重启机器");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3105")("识别不到免提声卡,请求自动重启机器");
 			if (Error_Succeed != SaveRestartRunConfig(utime)) {
 				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Save Run Config Restart time[%s] failed.", strTime);
 			}
@@ -892,6 +893,7 @@ ErrorCodeEnum CSIPEntity::__OnStart(ErrorCodeEnum preOperationError)
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("audio config is invalid.");
 		SetSoundCardSysVar(SOUNDCARD_CONFIG_EMPTY);
 		GetFunction()->SetSysVar("AuthErrMsg", "音频配置缺失,请使用硬件配置修改");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3101")("音频配置缺失,请使用硬件配置修改");
 		return Error_Param;
 	}
 	
@@ -905,17 +907,20 @@ ErrorCodeEnum CSIPEntity::__OnStart(ErrorCodeEnum preOperationError)
 		if (IsBothSoundCardError(uCheckRet)) {		//两组声卡都故障
 			SetSoundCardSysVar(SOUNDCARD_BOTH_ERROR);
 			GetFunction()->SetSysVar("AuthErrMsg", "音频设备故障,请联系厂商排查");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3102")("音频设备故障,请联系厂商排查");
 			return Error_Param;
 		}
 
 		if ((uCheckRet == (RVC_AUDIO_HANDFREEIN_ERROR | RVC_AUDIO_HANDFREEOUT_ERROR)) || (uCheckRet == RVC_AUDIO_HANDFREEIN_ERROR) || (uCheckRet == RVC_AUDIO_HANDFREEOUT_ERROR)) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("can't find usb audio device.");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("can't find handfree audio device.");
 			SetSoundCardSysVar(SOUNDCARD_HANDFREE_ERROR);
-			HandleUSBAudioDeviceErrorEvent();
+			HandleHandfreeAudioDeviceErrorEvent();
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3103")("识别不到免提声卡");
 		}
 
 		if ((uCheckRet == (RVC_AUDIO_PICKUPIN_ERROR | RVC_AUDIO_PICKUPOUT_ERROR)) || (uCheckRet == RVC_AUDIO_PICKUPIN_ERROR) || (uCheckRet == RVC_AUDIO_PICKUPOUT_ERROR)) {
 			SetSoundCardSysVar(SOUNDCARD_PICKUP_ERROR);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3104")("话筒声卡故障声卡");
 		}
 	}
 
@@ -1840,6 +1845,7 @@ void CSIPEntity::OnTimeout(DWORD dwTimerID)
 			evt.strmessage = CSimpleStringA2W("识别不到免提声卡,请尝试重启机器解决,多次无效后请联系厂商处理");
 			SpSendBroadcast(GetFunction(), SP_MSG_OF(UIMessageBox), SP_MSG_SIG_OF(UIMessageBox), evt);
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SpSendBroadcast UIMessageBox.");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA3106")("识别不到免提声卡,请尝试重启机器解决");
 			GetFunction()->KillTimer(RVC_ENTER_HOME_PAGE_TIMER);
 		}
 	}

+ 1 - 1
Module/mod_sipphone/mod_sipphone.h

@@ -336,7 +336,7 @@ private:
 	void ShowBothVideo();
 #endif //RVC_OS_WIN
 
-	void HandleUSBAudioDeviceErrorEvent();
+	void HandleHandfreeAudioDeviceErrorEvent();
 	//载入运行时配置
 	ErrorCodeEnum LoadRestartRunConfig(unsigned int& utime);
 	//保存运行时