欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android編程實現(xiàn)電話錄音的方法

 更新時間:2015年10月13日 11:55:00   作者:AlexZhuang  
這篇文章主要介紹了android編程實現(xiàn)電話錄音的方法,涉及Android監(jiān)聽電話通話及音頻采集的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了android編程實現(xiàn)電話錄音的方法。分享給大家供大家參考。具體如下:

在清單文件AndroidManifest.xml中添加權限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- 在SDCard中創(chuàng)建與刪除文件權限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard寫入數(shù)據(jù)權限 -->
<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);
 //監(jiān)聽電話的狀態(tài)
 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: /* 無任何狀態(tài)時 */
  if (recorder != null) {
   recorder.stop();
   recorder.release();
  }
  break;
 }
 }
}
}

希望本文所述對大家的Android程序設計有所幫助。

相關文章

最新評論