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

电话录音的兑现,无论是来电还是去电

2012-08-30 
电话录音的实现,无论是来电还是去电在你没有空闲记录电话内容时,电话录音软件就显得十分的方便了。无论是来

电话录音的实现,无论是来电还是去电

在你没有空闲记录电话内容时,电话录音软件就显得十分的方便了。无论是来电还是去电,都可以在SD存储卡上留下录音记录,以备日后查询。也可以做为陈堂证供哦!!!!!

首先,启动一个自定义的Service。作用是让操作在后台一直运行,只要来电话了就录音。

第二点就是利用TelephonyManager类判断现在电话的状态,在来电的情况下启动录音;

第三点利用mediaRecorder类来录音。具体我就不说了,请查看文档,不难的;录音的内容我放在了sd卡的根目录下面,你也可以修改在别的地方;

目前只是个雏形,但可以使用了。我就在用啊!!

    private class BeginRecord implements OnClickListener{@Overridepublic void onClick(View v) {Intent serviceIntent=new Intent(getApplicationContext(),CallRecordService.class);getApplicationContext().startService(serviceIntent);}        }}

?

@Overridepublic void onStart(Intent intent, int startId) {super.onStart(intent, startId);Toast.makeText(getApplicationContext(), "录音服务已经启动!", Toast.LENGTH_LONG).show();//TelephonyManager telephonymanager=(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);telephonymanager.listen(new PhoneListener(getApplicationContext()), PhoneStateListener.LISTEN_CALL_STATE);}
?public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);mediaRecorder = new MediaRecorder();switch(state){case TelephonyManager.CALL_STATE_OFFHOOK:iscall=true;try {recordCallComment();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();mediaRecorder.stop();}Toast.makeText(c, "正在录音", Toast.LENGTH_SHORT).show();break;case TelephonyManager.CALL_STATE_IDLE://if(mediaRecorder!=null){//mediaRecorder.stop();//mediaRecorder=null;//}if(iscall){mediaRecorder.stop();iscall=false;}break;}}

?public void recordCallComment() throws IOException{

System.out.println(mediaRecorder);mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);audioFile = File.createTempFile("record_", ".amr");mediaRecorder.setOutputFile(audioFile.getAbsolutePath());mediaRecorder.prepare();mediaRecorder.start();}
?

热点排行