解决语音监听对话框不更新状态的问题

修复语音监听对话框显示已收到数据不更新状态的问题。
发现"发送本地语音"会导致主控端容易崩溃的问题,现象类似于操作远程桌面时的随机崩溃。
This commit is contained in:
yuanyuanxiang
2019-01-26 11:53:11 +08:00
parent be45b5bd89
commit af63166fbe
8 changed files with 37 additions and 9 deletions

View File

@@ -46,6 +46,7 @@ void CAudioDlg::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(CAudioDlg, CDialog)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_CHECK, &CAudioDlg::OnBnClickedCheck)
END_MESSAGE_MAP()
@@ -70,6 +71,9 @@ BOOL CAudioDlg::OnInitDialog()
m_bThreadRun = m_hWorkThread ? TRUE : FALSE;
// "<22><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"OnBnClickedCheck"
GetDlgItem(IDC_CHECK)->EnableWindow(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
}
@@ -82,7 +86,7 @@ DWORD CAudioDlg::WorkThread(LPVOID lParam)
{
if (!This->m_bSend)
{
Sleep(50);
WAIT(This->m_bIsWorking, 1, 50);
continue;
}
DWORD dwBufferSize = 0;
@@ -101,12 +105,11 @@ void CAudioDlg::OnReceiveComplete(void)
m_nTotalRecvBytes += m_ContextObject->InDeCompressedBuffer.GetBufferLength() - 1; //1000+ =1000 1
CString strString;
strString.Format("Receive %d KBytes", m_nTotalRecvBytes / 1024);
SetDlgItemText(IDC_TIP, strString);
SetDlgItemText(IDC_TIPS, strString);
switch (m_ContextObject->InDeCompressedBuffer.GetBuffer(0)[0])
{
case TOKEN_AUDIO_DATA:
{
m_AudioObject.PlayBuffer(m_ContextObject->InDeCompressedBuffer.GetBuffer(1),
m_ContextObject->InDeCompressedBuffer.GetBufferLength() - 1); //<2F><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
@@ -134,3 +137,14 @@ void CAudioDlg::OnClose()
delete this;
#endif
}
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>
void CAudioDlg::OnBnClickedCheck()
{
// @notice 2019.1.26
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD>򱻿ض˱<D8B6><CBB1><EFBFBD><EFBFBD><EFBFBD>zlib inffas32.asm
// <20><EFBFBD><E8BDAB><EFBFBD>ض<EFBFBD>zlib<69><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>
// <20><><EFBFBD>Ǽ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6>ڿ<EFBFBD><DABF><EFBFBD>"<22><><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><CAB1><EFBFBD>ױ<EFBFBD><D7B1><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UpdateData(true);
}