用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++写的一段电话录音程序代码相关推荐

  1. C# 无意间写了一段线程死锁的代码

    源码如下: private void action_Click(object sender, RoutedEventArgs e){Task t = new Task(() =>{for (in ...

  2. 用java代码怎样打开网址_写了一段打开网页java代码报错: 求大神解救

    报错内容:Exceptioninthread"main"org.openqa.selenium.WebDriverException:Unabletobindtolockingpo ...

  3. 关于android电话录音问题的详细分析

    关于android电话录音问题的详细分析 作者:老猫 一直以来都是在网络上看别人的文章,老老实实的做潜水员,今天一时兴起,写点东西,希望对大家有所帮助,不要再走同样的弯路. 本文是关于Android下 ...

  4. 怎样用java写一个简单的文件复制程序

    怎样用java写一个简单的文件复制程序 代码来源:https://jingyan.baidu.com/article/c35dbcb0d6f1398916fcbc07.html package Num ...

  5. android电话、短信黑白名单拦截、电话录音

    功能描述: 总的来说这是一个防骚扰的应用,设置黑名单,白名单,通话录音名单.添加到黑名单的联系人或号码将被拒绝来电或短信:添加到白名单的联系人或号码将通过来电或短信(除白名单以外的号码将被拒绝来电或短 ...

  6. Android之关于电话录音原理,目前的方法还是只能录MIC

    对于android来讲,没有API直接支持对电话进行双向录音. 虽然MediaRecorder里面可以设置recodeRecorder.setAudioSource(MediaRecorder.Aud ...

  7. android service 样例(电话录音和获取系统当前时间)

    关于android service 的具体解释请參考: android四大组件--android service具体解释.以下将用两个实例具体呈现Android Service的两种实现. 一个是st ...

  8. python打电话播放语音_让电话录音也能看得见,录音一键转为文字

    最近看到有朋友在问手机通话怎么录音?他说他经常需要和领导进行电话会议,每次通话时间都很长,使用通话录音就能将内容记录下来,这样就不会遗忘重要内容了.如果你拥有一个一打电话就仿佛吃了脉动停不下来的领导, ...

  9. 宝元系统通讯软件recon_优软科技会场式电话录音系统

    电话录音系统用于实时地监控和记录电话通讯信息,包括电话号码.呼叫时间.通话内容等.有着监督服务质量.营销分析,和解决纠纷等重要作用. 优软科技会场式录音 1 基本功能:提供基本的录音.监听.查询.管理 ...

最新文章

  1. 武汉大学提出ARGAN:注意力循环生成对抗模型用于检测、去除图像阴影 | ICCV 2019
  2. 生成大小写字母加数字混合ID与自定义进制转换
  3. c#在WinForm中重写ProgressBar控件(带%的显示)
  4. 为什么我喜欢Java的细节
  5. Fix “Windows cannot access the specified device path or file” Error
  6. [有限元]利用虚位移和虚力的定义、对称性推导弹性力学公式
  7. 你们的2016年前端学习计划是什么?
  8. C Primer Plus 第13章 文件输入/输出 13.11 编程练习答案
  9. Tipard Screen Capture for Mac如何掌握音频?速来看
  10. java关联查询实战_MyBatis初级实战之六:一对多关联查询
  11. windows 通过公匙SSH到其他服务器
  12. 2021 自编译最新稳定版 裴讯 Phicomm K2 Openwrt 固件
  13. 奇安信渗透测试面试题库_奇安信2020渗透测试工程师笔试题
  14. [XMAN2018排位赛]ppap
  15. 图片缩放库 Photoview 和 Gif 控件 GifView 的使用
  16. R语言中导入excel乱码的解决办法
  17. WhatsApp群控的好处,为什么使用SendWS拓客系统实现WhatsApp耐用账号的群控管理?
  18. linux 机器开机自动运行命令的方法
  19. rust申请解封_参考 - Rust的确切自动解除引用规则是什么?
  20. LCA(包含RMQ)

热门文章

  1. verilog 按键控制LED的亮灭状态
  2. STC8单片机驱动DDS信号发生器AD9850扫频
  3. hdu4841 圆桌问题
  4. 拓展欧几里得算法java实现
  5. 负载均衡及软、硬负载简介
  6. 巴西龟饲养日志----云养龟
  7. 管理经济学【一】之 导论
  8. Android ConstraintLayout
  9. CAD的DXF之C#netDxf解析
  10. 破解数据交易“五难”问题,上海数据交易所揭牌成立