日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

监听手机录音

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 监听手机录音 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求分析: 記錄通話過程中的錄音,并保存到指定路徑~
知識點:1.手機開機發出廣播,廣播接受者收到通知,開啟service服務? 2.Service工作流程:
1.獲取手機管理對象·
2.注冊監聽器,對應手機狀態
3.依據手機狀態(振鈴、通話、空暇),創建Mediaplay對象,暫停 這里監聽手機狀態,加入權限 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 代碼: TelephonyManager manager=(TelephonyManager) getSystemService(TELEPHONY_SERVICE);//獲取電話管理 ? manager.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE); ?//用電話管理器注冊一個監聽器,監聽電話狀態 注意:手機狀態監聽這,能夠監聽多個狀態,LISTEN_CALL_STATE監聽的是手機狀態的變化,下面該監聽器其它的監聽對象 手機狀態改變的state三種值:空暇、通話、掛斷
依據三種狀態,處理Mediaplayer,代碼

public void onCallStateChanged(int state, String incomingNumber) { // 電話狀態改變時運行該方法 switch (state) { case TelephonyManager.CALL_STATE_RINGING: Log.d("Debug","振鈴"); num = incomingNumber; // 振鈴時, 記錄號碼 break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.d("Debug","開始錄音"); startRecording(); // 摘機時, 開始錄音 break; case TelephonyManager.CALL_STATE_IDLE: Log.d("Debug","空暇狀態"); stopRecording(); // 空暇時, 結束錄音 break; } } 思考:假設手機沒有振鈴?
停止錄音: private void stopRecording() { if (mRecorder != null) { mRecorder.stop();// 停止 mRecorder.release(); ? ?// 釋放資源 mRecorder = null;// 垃圾回收 } } 開始錄音: private void startRecording() { try { Log.d("Debug", "startRecording"); mRecorder = new MediaRecorder();?// 創建媒體記錄器 mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 設置音頻源 mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);// 設置輸出格式 mRecorder.setOutputFile("/mnt/sdcard/" + num + "_" + System.currentTimeMillis() + ".3gp");// 設置輸出文件路徑 mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);// 設置編碼 mRecorder.prepare();// 準備 mRecorder.start();// 開始 } catch (Exception e) { e.printStackTrace(); }}}} 總結:MediaPlayer操作過程,停止和錄音過程~,這里使用到了sdcard所以,必須聲明權限。 ? ? ?<uses-permission android:name="android.permission.RECORD_AUDIO"/>//同意程序進行錄音 ? ? ?<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> //寫入存儲卡
清單文件的配置信息: ?<receiver ?android:name=".PhoneBroacast"> ? ? ? ? ? ? <intent-filter > ? ? ? ? ? ? ? ? <action android:name="android.intent.action.BOOT_COMPLETED"/> ? ? ? ? ? ? </intent-filter> ? ? ? ? </receiver> ? ? ? ? <service android:name=".PhoneService"> ?? ? ? ? ? </service>

總結

以上是生活随笔為你收集整理的监听手机录音的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。