当前位置: 移动技术网 > 移动技术>移动开发>Android > android编程实现电话录音的方法

android编程实现电话录音的方法

2019年07月24日  | 移动技术网移动技术  | 我要评论

本文实例讲述了android编程实现电话录音的方法。分享给大家供大家参考。具体如下:

在清单文件androidmanifest.xml中添加权限:

<uses-permission android:name="android.permission.read_phone_state"/>
<!-- 在sdcard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.mount_unmount_filesystems"/>
<!-- 往sdcard写入数据权限 -->
<uses-permission android:name="android.permission.write_external_storage"/>
<uses-permission android:name="android.permission.record_audio"/>
<!-- 访问internet权限 -->
<uses-permission android:name="android.permission.internet"/>
<uses-permission android:name="android.permission.receive_boot_completed"/>

java代码如下:

public class phonelistenerservice extends service {
@override
public void oncreate() {
 telephonymanager manager = 
   (telephonymanager) getsystemservice(context.telephony_service);
 //监听电话的状态
 manager.listen(new mylistener(), phonestatelistener.listen_call_state);
}
private final class mylistener extends phonestatelistener {
 private string num;
 private mediarecorder recorder;
 public void oncallstatechanged(int state, string incomingnumber) {
 switch (state) {
  case telephonymanager.call_state_ringing: /* 电话进来时 */
  num = incomingnumber;
  break;
  case telephonymanager.call_state_offhook: /* 接起电话时 */
  try {
   file file = new file(environment.getexternalstoragedirectory(), num + "_" + system.currenttimemillis() + ".3gp");
   recorder = new mediarecorder();
   recorder.setaudiosource(audiosource.mic);//声音采集来源(话筒)
   recorder.setoutputformat(outputformat.three_gpp);//输出的格式
   recorder.setaudioencoder(audioencoder.amr_nb);//音频编码方式
   recorder.setoutputfile(file.getabsolutepath());//输出方向
   recorder.prepare();
   recorder.start();
  } catch (exception e) {
   e.printstacktrace();
  }
  break;
  case telephonymanager.call_state_idle: /* 无任何状态时 */
  if (recorder != null) {
   recorder.stop();
   recorder.release();
  }
  break;
 }
 }
}
}

希望本文所述对大家的android程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网