欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-11-12 09:41:22
本文实例讲述了android编程实现电话录音的方法。分享给大家供大家参考。具体如下: 在清单文件androidmanifest.xml中添加权限:

本文实例讲述了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程序设计有所帮助。