Android-电话录音

重要代码:


TelephonyManagertelManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

//通过电话管理器监听通话状态(回调机制)

telManager.listen(listener,PhoneStateListener.LISTEN_CALL_STATE);

listener= new  new PhoneStateListener(){

  public void onCallStateChanged(int state,String incomingNumber){

  switch(state){

      caseTelephonyManager.CALL_STATE_IDLE://空闲

      caseTelephonyManager.CALL_STATE_OFFHOOK://接起电话

      caseTelephonyManager.CALL_STATE_RINGING://振铃

  }}};

//录音

recorder= new MediaRecorder();

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//.3gp

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

recorder.setOutputFile("/mnt/sdcard/"+ filename);

recorder.prepare();

recorder.start();

recoding= true;

<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

android2.0(API 5)测试通过,2.2不可以.



通过Receiver机制(收到手机启动完成的广播)启动电话录音服务

XxxReceiver extends Receiver{

  publicvoid onReceive(){

  intent= new Intent(this,XxxxService.class);

  startService(intent);

  }

}

配置使用权限

<uses-permission

  android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

<uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

<uses-permission

  android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

<uses-permission

  android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permissionandroid:name="android.permission.INTERNET"/>

<uses-permissionandroid:name="android.permission.RECORD_AUDIO"/>

注:

 电话录音应用程序需要停止卡塔莎录屏软件,否则电脑卡死.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值