用C++写的一段电话录音程序代码
用C++写的一段电话录音程序代码
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <MPlayer.hpp>
#include "exam1.h"
#include "swind.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormExam *FormExam;
int LineCount;
int LineStatus[8];
//---------------------------------------------------------------------------
__fastcall TFormExam::TFormExam(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormExam::FormShow(TObject *Sender)
{
SW_Init();
SW_SetType(1);//设置设备类型
LineCount=SW_GetCount();
Label6->Caption="共"+IntToStr(LineCount)+"线";
Timer1->Enabled=true;
for (int i=0;i<LineCount;i++)
LineStatus[i]=0; //线路状态
}
//---------------------------------------------------------------------------
void __fastcall TFormExam::FormClose(TObject *Sender, TCloseAction &Action)
{
SW_Free();
}
//---------------------------------------------------------------------------
void __fastcall TFormExam::Timer1Timer(TObject *Sender)
{
AnsiString s1;
char buf[16];
int i;
//本程序的处理流程
//1。判断是否摘机,检测是否收到CID来电号码
//2。若摘机,开始文件录音,并检测是否收到DTMF号码
//3。 判断是否挂机
//4。 若挂机,停止文件录音,开始下一个循环处理
LineCount=SW_GetCount();
for (int line=0;line<LineCount;line++)
{
if (LineStatus[line]==0)
{
//摘机处理
i = SW_CheckOffHook(line);
if (i==-1)
{
Edit1->Text = "检查USB电话录音盒是否安装!";
return;
}
if (i==1)
{
Edit1->Text = "线"+IntToStr(line)+":"+"电话摘机!";
i=SW_StartFileRecord(line,Edit4->Text.c_str(),0xffffff);
if (i==-1)
{
Edit1->Text = "文件录音出错!";
return;
}
Edit1->Text ="线"+IntToStr(line)+":"+"正在录音...";
Button2->Enabled=false;
LineStatus[line]=1;
}
//收到CID处理
i=SW_ReceiveCID(line,buf);
if (i==-1)
{
Edit2->Text = "检查USB电话录音盒是否安装!";
return;
}
else
if (i!=0)
{
s1=buf;
Edit2->Text = "线"+IntToStr(line)+":"+s1.Trim();
}
}
if (LineStatus[line]==1)
{
i=SW_ReceiveDTMF(line,buf);
if (i==-1)
{
Edit3->Text = "检查USB电话录音盒是否安装!";
return;
}
else
if (i!=0)
{
s1=buf;
Edit3->Text ="线"+IntToStr(line)+":"+s1.Trim();
}
long ls1=SW_CheckFileRecordEnd(line);
if (ls1==-1l)
{
Edit1->Text = "检查USB电话录音盒是否安装!";
return;
}
if (ls1==0l)
{
SW_StopFileRecord(line);
}
//挂机处理
i = SW_CheckOffHook(line);
if (i==-1)
{
Edit1->Text = "检查USB电话录音盒是否安装!";
return;
}
if (i==0)
{
i =SW_StopFileRecord(line);
if (i==-1)
{
Edit1->Text = "检查USB电话录音盒是否安装!";
return;
}
Edit1->Text = "线"+IntToStr(line)+": 电话挂机,停止录音!";
Button2->Enabled=true;
LineStatus[line]=0;
} // end 挂机
} // end 1
} // end for
}
用C++写的一段电话录音程序代码相关推荐
- C# 无意间写了一段线程死锁的代码
源码如下: private void action_Click(object sender, RoutedEventArgs e){Task t = new Task(() =>{for (in ...
- 用java代码怎样打开网址_写了一段打开网页java代码报错: 求大神解救
报错内容:Exceptioninthread"main"org.openqa.selenium.WebDriverException:Unabletobindtolockingpo ...
- 关于android电话录音问题的详细分析
关于android电话录音问题的详细分析 作者:老猫 一直以来都是在网络上看别人的文章,老老实实的做潜水员,今天一时兴起,写点东西,希望对大家有所帮助,不要再走同样的弯路. 本文是关于Android下 ...
- 怎样用java写一个简单的文件复制程序
怎样用java写一个简单的文件复制程序 代码来源:https://jingyan.baidu.com/article/c35dbcb0d6f1398916fcbc07.html package Num ...
- android电话、短信黑白名单拦截、电话录音
功能描述: 总的来说这是一个防骚扰的应用,设置黑名单,白名单,通话录音名单.添加到黑名单的联系人或号码将被拒绝来电或短信:添加到白名单的联系人或号码将通过来电或短信(除白名单以外的号码将被拒绝来电或短 ...
- Android之关于电话录音原理,目前的方法还是只能录MIC
对于android来讲,没有API直接支持对电话进行双向录音. 虽然MediaRecorder里面可以设置recodeRecorder.setAudioSource(MediaRecorder.Aud ...
- android service 样例(电话录音和获取系统当前时间)
关于android service 的具体解释请參考: android四大组件--android service具体解释.以下将用两个实例具体呈现Android Service的两种实现. 一个是st ...
- python打电话播放语音_让电话录音也能看得见,录音一键转为文字
最近看到有朋友在问手机通话怎么录音?他说他经常需要和领导进行电话会议,每次通话时间都很长,使用通话录音就能将内容记录下来,这样就不会遗忘重要内容了.如果你拥有一个一打电话就仿佛吃了脉动停不下来的领导, ...
- 宝元系统通讯软件recon_优软科技会场式电话录音系统
电话录音系统用于实时地监控和记录电话通讯信息,包括电话号码.呼叫时间.通话内容等.有着监督服务质量.营销分析,和解决纠纷等重要作用. 优软科技会场式录音 1 基本功能:提供基本的录音.监听.查询.管理 ...
最新文章
- 武汉大学提出ARGAN:注意力循环生成对抗模型用于检测、去除图像阴影 | ICCV 2019
- 生成大小写字母加数字混合ID与自定义进制转换
- c#在WinForm中重写ProgressBar控件(带%的显示)
- 为什么我喜欢Java的细节
- Fix “Windows cannot access the specified device path or file” Error
- [有限元]利用虚位移和虚力的定义、对称性推导弹性力学公式
- 你们的2016年前端学习计划是什么?
- C Primer Plus 第13章 文件输入/输出 13.11 编程练习答案
- Tipard Screen Capture for Mac如何掌握音频?速来看
- java关联查询实战_MyBatis初级实战之六:一对多关联查询
- windows 通过公匙SSH到其他服务器
- 2021 自编译最新稳定版 裴讯 Phicomm K2 Openwrt 固件
- 奇安信渗透测试面试题库_奇安信2020渗透测试工程师笔试题
- [XMAN2018排位赛]ppap
- 图片缩放库 Photoview 和 Gif 控件 GifView 的使用
- R语言中导入excel乱码的解决办法
- WhatsApp群控的好处,为什么使用SendWS拓客系统实现WhatsApp耐用账号的群控管理?
- linux 机器开机自动运行命令的方法
- rust申请解封_参考 - Rust的确切自动解除引用规则是什么?
- LCA(包含RMQ)