private void startrecfile_Click(object sender, EventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); if (dlg.ShowDialog() == DialogResult.OK) { Int32 dwmask = 0; if (echoenable.Checked) { dwmask |= BriSDKLib.RECORD_MASK_ECHO; } if (agcenable.Checked) { dwmask |= BriSDKLib.RECORD_MASK_AGC; } m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle = BriSDKLib.QNV_RecordFile((short)selchannel.SelectedIndex, BriSDKLib.QNV_RECORD_FILE_START, recformat.SelectedIndex, dwmask, dlg.FileName); if (m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle <= 0) { AppendStatus("文件录音失败:" + dlg.FileName); } else { AppendStatus("开始文件录音:" + dlg.FileName); AppendStatus("录音ID:" + m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle); } } }
private void resumerecfile_Click(object sender, EventArgs e) { if (m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle > 0) { BriSDKLib.QNV_RecordFile((short)selchannel.SelectedIndex, BriSDKLib.QNV_RECORD_FILE_RESUME, m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle, 0, ""); } }
private void stoprecfile_Click(object sender, EventArgs e) { if (m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle > 0) { AppendStatus("停止文件录音 ID:" + m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle); long lRet = BriSDKLib.QNV_RecordFile((short)selchannel.SelectedIndex, BriSDKLib.QNV_RECORD_FILE_STOP, m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle, 0, ""); m_tagpstnData[(short)selchannel.SelectedIndex].lRecFileHandle = 0; AppendStatus("停止文件录音 Ret:" + lRet); } }
/// <summary> /// 停止录音 /// </summary> /// <param name="handle"></param> public static void EndRecord() { BriSDKLib.QNV_RecordFile(VoipIndex, BriSDKLib.QNV_RECORD_FILE_STOP, recordingHanle, 0, ""); if (MainWindow.uploadRecordingFile != null) { if (!MainWindow.uploadRecordingFile.IsBusy) { MainWindow.uploadRecordingFile.RunWorkerAsync(); } } }
/// <summary> /// 开始录音 /// </summary> /// <param name="path">路径</param> /// <returns>返回录音句柄</returns> public static int StartRecord() { if (!string.IsNullOrEmpty(callId)) { var path = string.Format("{0}\\{1}.wav", recordPath, callId.ToString().Trim()); recordingHanle = BriSDKLib.QNV_RecordFile(VoipIndex, BriSDKLib.QNV_RECORD_FILE_START, BriSDKLib.BRI_WAV_FORMAT_PCM8K16B, BriSDKLib.RECORD_MASK_ECHO | BriSDKLib.RECORD_MASK_AGC, path); if (recordingHanle < 0)//录音失败 { Utils.WriteLog("录音失败"); BriSDKLib.QNV_RecordFile(VoipIndex, BriSDKLib.QNV_RECORD_FILE_STOPALL, 0, 0, "0"); OffOnHook(0); return(-1); } } return(recordingHanle); }