首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

录音有关问题。

2012-03-22 
录音问题。。。ApdTapiDevice或者ApdSapiPhone怎样进行电话录音。。。[解决办法]就20分?procedure TFrmMain.ApdT

录音问题。。。
ApdTapiDevice   或者   ApdSapiPhone   怎样进行电话录音。。。

[解决办法]
就20分?

procedure TFrmMain.ApdTapiDeviceTapiWaveNotify(CP: TObject;
Msg: TWaveMessage);
var
TimeStr: string;
FileName: string;
begin
//决不能在case外做耗时的操作
case Msg of
waPlayOpen: LBSysInfo.Items.Add( 'wavnotify:播放开始 ');
waPlayDone:
begin
LBSysInfo.Items.Add( 'wavnotify:播放结束 ');
if CurrentState = csRecording then
begin
try
      //等待波设备状态为wsIdle再开始录音
while ApdTapiDevice.WaveState <> wsIdle do
Application.ProcessMessages;
ApdTapiDevice.InterruptWave := True;
ApdTapiDevice.StartWaveRecord;
LBSysInfo.Items.Add( 'dtmf:录音成功 ');
except
LBSysInfo.Items.Add( 'dtmf:录音失败 ');
end;
end;
end;
waPlayClose: LBSysInfo.Items.Add( 'wavnotify:播放关闭 ');
waRecordOpen: LBSysInfo.Items.Add( 'wavnotify:录音开始 ');
waDataReady:
begin
LBSysInfo.Items.Add( 'wavnotify:数据准备 ');
TimeSeparator := '- ';
FileName := DateTimeToStr(Now) + '.wav ';
try
ApdTapiDevice.SaveWaveFile(ExtractFilePath(ParamStr(0)) + 'record\ ' +
FileName, True);
LBSysInfo.Items.Add( 'wavNotify:保存声音文件 ' + FileName);
except
LBSysInfo.Items.Add( 'wavnotify:保存声音文件失败 ');
end;
end;
waRecordClose:
begin
LBSysInfo.Items.Add( 'wavnotify:记录声音结束 ');
CurrentState := csWaiting;
ActionCancelExecute(nil);
Timer1.Enabled := True;
end;
end;
end;


http://www.programfan.com/article/showarticle.asp?id=2408

热点排行