?? vcsampledlg.cpp
字號:
void CVCSampleDlg::OnButton1()
{
UpdateData();
m_sPhoneNumber += "1";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "1");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton2()
{
UpdateData();
m_sPhoneNumber += "2";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "2");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton3()
{
UpdateData();
m_sPhoneNumber += "3";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "3");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton4()
{
UpdateData();
m_sPhoneNumber += "4";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "4");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton5()
{
UpdateData();
m_sPhoneNumber += "5";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "5");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton6()
{
UpdateData();
m_sPhoneNumber += "6";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "6");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton7()
{
UpdateData();
m_sPhoneNumber += "7";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "7");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton8()
{
UpdateData();
m_sPhoneNumber += "8";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "8");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton9()
{
UpdateData();
m_sPhoneNumber += "9";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "9");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton11()
{
UpdateData();
m_sPhoneNumber += "0";
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "0");
UpdateData(FALSE);
}
void CVCSampleDlg::OnButton10()
{
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "*");
}
void CVCSampleDlg::OnButton12()
{
m_pVaxVoIP->DigitDTMF(m_ctrlDialSelectLine.GetCurSel(), "#");
}
void CVCSampleDlg::OnCheckSpkMute()
{
UpdateData();
m_pVaxVoIP->MuteSpk(m_bSpkMute);
}
void CVCSampleDlg::OnCheckMicMute()
{
UpdateData();
m_pVaxVoIP->MuteMic(m_bMicMute);
}
void CVCSampleDlg::OnButtonResetRecording()
{
int nLineNo = m_ctrlRecordSelectLine.GetCurSel();
m_pVaxVoIP->ResetRecording(nLineNo);
}
void CVCSampleDlg::OnButtonSaveToWaveFile()
{
UpdateData();
int nLineNo = m_ctrlRecordSelectLine.GetCurSel();
if(!m_pVaxVoIP->SaveRecordingToWaveFile(nLineNo, m_sWavFile))
{
m_pVaxVoIP->ErrorMessage();
}
else
{
MessageBox("Saved successfully.", "VaxVoIP SIP SDK", MB_ICONINFORMATION|MB_OK);
}
}
void CVCSampleDlg::OnCheckStartRecording()
{
UpdateData();
int nLineNo = m_ctrlRecordSelectLine.GetCurSel();
if(m_bStartRecording)
m_pVaxVoIP->StartRecording(nLineNo, 2, TRUE);
else
m_pVaxVoIP->StopRecording(nLineNo);
}
void CVCSampleDlg::OnCheckEcho()
{
UpdateData();
if(m_bEnableEchoNoiseCancel)
m_pVaxVoIP->EnableEchoNoiseCancellation();
else
m_pVaxVoIP->DisableEchoNoiseCancellation();
}
void CVCSampleDlg::OnCheckMicBoost()
{
UpdateData();
if(m_bEnableMicBoost)
m_pVaxVoIP->EnableMicBoost();
else
m_pVaxVoIP->DisableMicBoost();
}
void CVCSampleDlg::OnCheckDonotDisturb()
{
UpdateData();
if(m_bDonotDisturb)
m_pVaxVoIP->EnableDonotDisturb();
else
m_pVaxVoIP->DisableDonotDisturb();
}
void CVCSampleDlg::OnCheckGsm610()
{
/**** Codec No 0 represents GSM 6.10 *****/
UpdateData();
if(m_bGSM610)
m_pVaxVoIP->SelectVoiceCodec(0);
else
m_pVaxVoIP->DeselectVoiceCodec(0);
}
void CVCSampleDlg::OnCheckiLBC()
{
/**** Codec No 1 represents iLBC ********/
UpdateData();
if(m_biLBC)
m_pVaxVoIP->SelectVoiceCodec(1);
else
m_pVaxVoIP->DeselectVoiceCodec(1);
}
void CVCSampleDlg::OnCheckG711ALaw()
{
/**** Codec No 2 represents GSM711 A-Law *****/
UpdateData();
if(m_bG711ALaw)
m_pVaxVoIP->SelectVoiceCodec(2);
else
m_pVaxVoIP->DeselectVoiceCodec(2);
}
void CVCSampleDlg::OnCheckG711ULaw()
{
/**** Codec No 3 represents GSM711 U-Law *****/
UpdateData();
if(m_bG711ULaw)
m_pVaxVoIP->SelectVoiceCodec(3);
else
m_pVaxVoIP->DeselectVoiceCodec(3);
}
void CVCSampleDlg::OnButtonHelp()
{
CHelpDlg HelpDlg;
HelpDlg.DoModal();
}
void CVCSampleDlg::OnButtonTransferCall()
{
UpdateData();
CString sToURI = "sip:" + m_sTransferPhoneNo + "@" + m_sProxyURI;
int nLineNo = m_ctrlTransferSelectLine.GetCurSel();
if(!m_pVaxVoIP->TransferCall(nLineNo, sToURI))
{
m_pVaxVoIP->ErrorMessage();
}
}
void CVCSampleDlg::OnCheckAgc()
{
UpdateData();
if(m_bEnableAGC)
{
m_pVaxVoIP->EnableAGC(8000);
}
else
{
m_pVaxVoIP->DisableAGC();
}
}
void CVCSampleDlg::OnButtonOpenWave()
{
UpdateData();
int nLineNo = m_ctrlPlayWaveSelectLine.GetCurSel();
if(!m_pVaxVoIP->PlayWaveOpen(nLineNo, m_sPlayWaveFileName))
{
m_pVaxVoIP->ErrorMessage();
}
}
void CVCSampleDlg::OnButtonWavePlay()
{
UpdateData();
int nLineNo = m_ctrlPlayWaveSelectLine.GetCurSel();
if(!m_pVaxVoIP->PlayWaveStart(nLineNo, m_bPlayListen))
{
m_pVaxVoIP->ErrorMessage();
}
}
void CVCSampleDlg::OnButtonWaveRewind()
{
int nLineNo = m_ctrlPlayWaveSelectLine.GetCurSel();
int nPlayPos = m_pVaxVoIP->PlayWavePosition(nLineNo);
if(nPlayPos == -1)
{
m_pVaxVoIP->ErrorMessage();
return;
}
if(!m_pVaxVoIP->PlayWaveSkipTo(nLineNo, nPlayPos - 3))
{
m_pVaxVoIP->ErrorMessage();
}
}
void CVCSampleDlg::OnButtonWaveForward()
{
int nLineNo = m_ctrlPlayWaveSelectLine.GetCurSel();
int nPlayPos = m_pVaxVoIP->PlayWavePosition(nLineNo);
if(nPlayPos == -1)
{
m_pVaxVoIP->ErrorMessage();
return;
}
if(!m_pVaxVoIP->PlayWaveSkipTo(nLineNo, nPlayPos + 3))
{
m_pVaxVoIP->ErrorMessage();
}
}
void CVCSampleDlg::OnButtonWavePause()
{
int nLineNo = m_ctrlPlayWaveSelectLine.GetCurSel();
if(!m_pVaxVoIP->PlayWavePause(nLineNo))
{
m_pVaxVoIP->ErrorMessage();
}
}
void CVCSampleDlg::OnButtonWaveStop()
{
int nLineNo = m_ctrlPlayWaveSelectLine.GetCurSel();
if(!m_pVaxVoIP->PlayWaveStop(nLineNo))
{
m_pVaxVoIP->ErrorMessage();
}
}
CString CVCSampleDlg::GetSelectedItemCallId()
{
int nSelectedItemIndex = m_ctrlIncomingCallListBox.GetCurSel();
if(nSelectedItemIndex == -1) return "";
CString sCallId = "";
m_ctrlIncomingCalIIdListBox.GetText(nSelectedItemIndex, sCallId);
return sCallId;
}
void CVCSampleDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent == GENERAL_TIMER_ID)
{
UpdateLineStatusList();
}
else if(nIDEvent == VOL_LEVEL_TIMER_ID)
{
m_ctrlSpkProg.SetPos(m_pVaxVoIP->GetSpkSoundLevel());
m_ctrlMicProg.SetPos(m_pVaxVoIP->GetMicSoundLevel());
}
CDialog::OnTimer(nIDEvent);
}
CString CVCSampleDlg::GetCodecName(int nCodecNo)
{
if(nCodecNo == 0)
return "gsm6.10";
if(nCodecNo == 1)
return "iLBC";
if(nCodecNo == 2)
return "gsm711a";
if(nCodecNo == 3)
return "gsm711u";
return "";
}
void CVCSampleDlg::UpdateLineStatusList()
{
if(m_ctrlLineStatusList.GetItemCount() == 0)
{
for(int nLineNo = 0; nLineNo < m_nTotalLines; nLineNo++)
{
CString sText = "";
sText.Format("%d", nLineNo + 1);
m_ctrlLineStatusList.InsertItem(nLineNo, sText);
m_ctrlLineStatusList.SetItemText(nLineNo, 1, "free");
}
}
for(int nItemNo = 0; nItemNo < m_ctrlLineStatusList.GetItemCount(); nItemNo++)
{
int nCodecNo = m_pVaxVoIP->GetOutboundCodec(nItemNo);
m_ctrlLineStatusList.SetItemText(nItemNo, 2, GetCodecName(nCodecNo));
nCodecNo = m_pVaxVoIP->GetInboundCodec(nItemNo);
m_ctrlLineStatusList.SetItemText(nItemNo, 3, GetCodecName(nCodecNo));
CString sItemText = m_ctrlLineStatusList.GetItemText(nItemNo, 1);
if(!m_pVaxVoIP->IsLineOpen(nItemNo))
{
if(sItemText.Find("close") == -1)
{
m_ctrlLineStatusList.SetItemText(nItemNo, 1, "close");
}
}
else if(m_pVaxVoIP->IsLineBusy(nItemNo))
{
if(m_pVaxVoIP->IsWaveFilePlaying(nItemNo))
{
if(sItemText.Find("playing") == -1)
m_ctrlLineStatusList.SetItemText(nItemNo, 1, "playing");
}
else if(m_pVaxVoIP->IsLineHold(nItemNo))
{
if(sItemText.Find("hold") == -1)
m_ctrlLineStatusList.SetItemText(nItemNo, 1, "hold");
}
else
{
if(sItemText.Find("busy") == -1)
m_ctrlLineStatusList.SetItemText(nItemNo, 1, "busy");
}
}
else
{
if(sItemText.Find("free") == -1)
m_ctrlLineStatusList.SetItemText(nItemNo, 1, "free");
}
}
}
void CVCSampleDlg::OnSelchangeComboRecordSelectLine()
{
int nLineNo = m_ctrlRecordSelectLine.GetCurSel();
m_bStartRecording = m_pVaxVoIP->IsRecording(nLineNo);
UpdateData(FALSE);
}
void CVCSampleDlg::OnSuccessToConnect()
{
int nVol = m_pVaxVoIP->GetMicVolume();
m_MicSlider.SetPos(nVol/25);
nVol = m_pVaxVoIP->GetSpkVolume();
m_SpkSlider.SetPos(nVol/25);
m_bEnableMicBoost = m_pVaxVoIP->IsMicBoostEnable();
UpdateData(FALSE);
}
void CVCSampleDlg::OnIncomingCall(LPCTSTR sCallId, LPCTSTR sCLI)
{
if(m_ctrlIncomingCalIIdListBox.FindString(-1, sCallId) != -1)
return;
m_ctrlIncomingCallListBox.AddString(sCLI);
m_ctrlIncomingCalIIdListBox.AddString(sCallId);
if(m_ctrlIncomingCallListBox.GetCurSel() == -1)
m_ctrlIncomingCallListBox.SetCurSel(0);
}
void CVCSampleDlg::OnIncomingCallRingingStart(LPCTSTR sCallId)
{
UpdateData();
if(m_bPlayRingTone)
::PlaySound("ring.wav", NULL, SND_FILENAME|SND_ASYNC|SND_LOOP|SND_NODEFAULT);
}
void CVCSampleDlg::OnIncomingCallRingingStop(LPCTSTR sCallId)
{
::PlaySound(NULL, NULL, SND_FILENAME|SND_ASYNC|SND_LOOP|SND_NODEFAULT);
int nIndex = m_ctrlIncomingCalIIdListBox.FindString(-1, sCallId);
if(nIndex != -1)
{
m_ctrlIncomingCallListBox.DeleteString(nIndex);
m_ctrlIncomingCalIIdListBox.DeleteString(nIndex);
}
if(m_ctrlIncomingCallListBox.GetCurSel() == -1)
m_ctrlIncomingCallListBox.SetCurSel(0);
}
void CVCSampleDlg::OnCheckPlayRingTone()
{
UpdateData();
if(!m_bPlayRingTone)
{
::PlaySound(NULL, NULL, SND_FILENAME|SND_ASYNC|SND_LOOP|SND_NODEFAULT);
}
}
void CVCSampleDlg::AddToStatusList(LPCTSTR sText)
{
m_ctrlStatusLogListBox.AddString(sText);
m_ctrlStatusLogListBox.SetTopIndex(m_ctrlStatusLogListBox.GetCount() - 1);
}
int CVCSampleDlg::GetSelectedAudioInDeviceId()
{
int nItemIndex = m_ctrlStatusAudioInListBox.GetCurSel();
if(nItemIndex == -1) return -1;
return m_ctrlStatusAudioInListBox.GetItemData(nItemIndex);
}
int CVCSampleDlg::GetSelectedAudioOutDeviceId()
{
int nItemIndex = m_ctrlStatusAudioOutListBox.GetCurSel();
if(nItemIndex == -1) return -1;
return m_ctrlStatusAudioOutListBox.GetItemData(nItemIndex);
}
void CVCSampleDlg::UpdateAudioInListBox()
{
m_ctrlStatusAudioInListBox.ResetContent();
int nItemIndex = m_ctrlStatusAudioInListBox.AddString("Default Device");
m_ctrlStatusAudioInListBox.SetItemData(nItemIndex, -1);
for(int nDeviceId = 0; nDeviceId < m_pVaxVoIP->GetAudioInDevTotal(); nDeviceId++)
{
nItemIndex = m_ctrlStatusAudioInListBox.AddString(m_pVaxVoIP->GetAudioInDevName(nDeviceId));
m_ctrlStatusAudioInListBox.SetItemData(nItemIndex, nDeviceId);
}
m_ctrlStatusAudioInListBox.SetCurSel(0);
}
void CVCSampleDlg::UpdateAudioOutListBox()
{
m_ctrlStatusAudioOutListBox.ResetContent();
int nItemIndex = m_ctrlStatusAudioOutListBox.AddString("Default Device");
m_ctrlStatusAudioOutListBox.SetItemData(nItemIndex, -1);
for(int nDeviceId = 0; nDeviceId < m_pVaxVoIP->GetAudioOutDevTotal(); nDeviceId++)
{
nItemIndex = m_ctrlStatusAudioOutListBox.AddString(m_pVaxVoIP->GetAudioOutDevName(nDeviceId));
m_ctrlStatusAudioOutListBox.SetItemData(nItemIndex, nDeviceId);
}
m_ctrlStatusAudioOutListBox.SetCurSel(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -