android編程實(shí)現(xiàn)電話錄音的方法
本文實(shí)例講述了android編程實(shí)現(xiàn)電話錄音的方法。分享給大家供大家參考。具體如下:
在清單文件AndroidManifest.xml中添加權(quán)限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- 在SDCard中創(chuàng)建與刪除文件權(quán)限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard寫入數(shù)據(jù)權(quán)限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <!-- 訪問internet權(quán)限 --> <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: /* 電話進(jìn)來時(shí) */ num = incomingNumber; break; case TelephonyManager.CALL_STATE_OFFHOOK: /* 接起電話時(shí) */ 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)時(shí) */ if (recorder != null) { recorder.stop(); recorder.release(); } break; } } } }
希望本文所述對(duì)大家的Android程序設(shè)計(jì)有所幫助。
- Android音頻錄制MediaRecorder之簡易的錄音軟件實(shí)現(xiàn)代碼
- Android簡單的利用MediaRecorder進(jìn)行錄音的實(shí)例代碼
- Android App調(diào)用MediaRecorder實(shí)現(xiàn)錄音功能的實(shí)例
- Android錄音時(shí)獲取分貝值的方法代碼實(shí)例
- Android使用MediaRecorder實(shí)現(xiàn)錄音及播放
- Android 實(shí)現(xiàn)電話來去自動(dòng)錄音的功能
- Android編程開發(fā)錄音和播放錄音簡單示例
- Android中簡單調(diào)用圖片、視頻、音頻、錄音和拍照的方法
- android語音即時(shí)通訊之錄音、播放功能實(shí)現(xiàn)代碼
- Android使用AudioRecord實(shí)現(xiàn)暫停錄音功能實(shí)例代碼
- Android編程實(shí)現(xiàn)錄音及保存播放功能的方法【附demo源碼下載】
相關(guān)文章
android配合viewpager實(shí)現(xiàn)可滑動(dòng)的標(biāo)簽欄示例分享
本文主要介紹了android實(shí)現(xiàn)可滑動(dòng)的標(biāo)簽欄示例,配合viewpager作為標(biāo)簽欄,且可以設(shè)置每頁顯示的標(biāo)簽個(gè)數(shù),超出可滑動(dòng)顯示,需要的朋友可以參考下2014-02-02Android仿微信底部菜單欄功能顯示未讀消息數(shù)量
這篇文章主要介紹了Android仿微信底部菜單欄功能,并顯示未讀消息數(shù)量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05Android制作微信app頂部menu菜單(ActionBar)
這篇文章主要為大家詳細(xì)介紹了Android利用ActionBar制作微信app頂部menu菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02基于Flutter制作一個(gè)火箭發(fā)射動(dòng)畫
北京時(shí)間10月16日0時(shí)23分,神舟十三號(hào)飛船成功發(fā)射,為慶祝這一喜事,本文將用Flutter制作一個(gè)火箭發(fā)射動(dòng)畫,感興趣的小伙伴可以動(dòng)手試一試2022-03-03Android設(shè)計(jì)模式之Builder模式解析
這篇文章主要為大家詳細(xì)介紹了Android設(shè)計(jì)模式之Builder模式解析的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android開發(fā)控制ScrollView滑動(dòng)速度的方法
這篇文章主要介紹了Android開發(fā)控制ScrollView滑動(dòng)速度的方法,結(jié)合實(shí)例形式分析了Android編程中ScrollView滑動(dòng)事件相關(guān)操作技巧,需要的朋友可以參考下2017-02-02Android自定義View實(shí)現(xiàn)帶4圓角或者2圓角的效果
這篇文章主要介紹了Android自定義View實(shí)現(xiàn)帶4圓角或者2圓角的效果,本文通過實(shí)例代碼截圖給大家展示的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Android通過ksoap2傳遞復(fù)雜數(shù)據(jù)類型及CXF發(fā)布的webservice詳細(xì)介紹
這篇文章主要介紹了 Android通過ksoap2傳遞復(fù)雜數(shù)據(jù)類型詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-02-02