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程序設計有所幫助。
您可能感興趣的文章:
- Android音頻錄制MediaRecorder之簡易的錄音軟件實現(xiàn)代碼
- Android簡單的利用MediaRecorder進行錄音的實例代碼
- Android App調(diào)用MediaRecorder實現(xiàn)錄音功能的實例
- Android錄音時獲取分貝值的方法代碼實例
- Android使用MediaRecorder實現(xiàn)錄音及播放
- Android 實現(xiàn)電話來去自動錄音的功能
- Android編程開發(fā)錄音和播放錄音簡單示例
- Android中簡單調(diào)用圖片、視頻、音頻、錄音和拍照的方法
- android語音即時通訊之錄音、播放功能實現(xiàn)代碼
- Android使用AudioRecord實現(xiàn)暫停錄音功能實例代碼
- Android編程實現(xiàn)錄音及保存播放功能的方法【附demo源碼下載】
相關文章
android配合viewpager實現(xiàn)可滑動的標簽欄示例分享
本文主要介紹了android實現(xiàn)可滑動的標簽欄示例,配合viewpager作為標簽欄,且可以設置每頁顯示的標簽個數(shù),超出可滑動顯示,需要的朋友可以參考下2014-02-02Android仿微信底部菜單欄功能顯示未讀消息數(shù)量
這篇文章主要介紹了Android仿微信底部菜單欄功能,并顯示未讀消息數(shù)量,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05Android制作微信app頂部menu菜單(ActionBar)
這篇文章主要為大家詳細介紹了Android利用ActionBar制作微信app頂部menu菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02Android開發(fā)控制ScrollView滑動速度的方法
這篇文章主要介紹了Android開發(fā)控制ScrollView滑動速度的方法,結合實例形式分析了Android編程中ScrollView滑動事件相關操作技巧,需要的朋友可以參考下2017-02-02Android自定義View實現(xiàn)帶4圓角或者2圓角的效果
這篇文章主要介紹了Android自定義View實現(xiàn)帶4圓角或者2圓角的效果,本文通過實例代碼截圖給大家展示的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03Android通過ksoap2傳遞復雜數(shù)據(jù)類型及CXF發(fā)布的webservice詳細介紹
這篇文章主要介紹了 Android通過ksoap2傳遞復雜數(shù)據(jù)類型詳細介紹的相關資料,需要的朋友可以參考下2017-02-02