国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android錄音時獲取分貝值的方法代碼實(shí)例

2020-04-11 11:35:14
字體:
供稿:網(wǎng)友

參考文章Android中實(shí)時獲取音量分貝值詳解://m.survivalescaperooms.com/article/64806.htm

public class MediaRecorderDemo {   private final String TAG = "MediaRecord";   private MediaRecorder mMediaRecorder;   public static final int MAX_LENGTH = 1000 * 60 * 10;// 最大錄音時長1000*60*10;   private String filePath;    public MediaRecorderDemo(){     this.filePath = "/dev/null";   }    public MediaRecorderDemo(File file) {     this.filePath = file.getAbsolutePath();   }    private long startTime;   private long endTime;    /**    * 開始錄音 使用amr格式    *    *      錄音文件    * @return    */   public void startRecord() {     // 開始錄音     /* ①Initial:實(shí)例化MediaRecorder對象 */     if (mMediaRecorder == null)       mMediaRecorder = new MediaRecorder();     try {       /* ②setAudioSource/setVedioSource */       mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 設(shè)置麥克風(fēng)       /* ②設(shè)置音頻文件的編碼:AAC/AMR_NB/AMR_MB/Default 聲音的(波形)的采樣 */       mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);             /*        * ②設(shè)置輸出文件的格式:THREE_GPP/MPEG-4/RAW_AMR/Default THREE_GPP(3gp格式        * ,H263視頻/ARM音頻編碼)、MPEG-4、RAW_AMR(只支持音頻且音頻編碼要求為AMR_NB)        */       mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);        /* ③準(zhǔn)備 */       mMediaRecorder.setOutputFile(filePath);       mMediaRecorder.setMaxDuration(MAX_LENGTH);       mMediaRecorder.prepare();       /* ④開始 */       mMediaRecorder.start();       // AudioRecord audioRecord.       /* 獲取開始時間* */       startTime = System.currentTimeMillis();       updateMicStatus();       Log.i("ACTION_START", "startTime" + startTime);     } catch (IllegalStateException e) {       Log.i(TAG,           "call startAmr(File mRecAudioFile) failed!"               + e.getMessage());     } catch (IOException e) {       Log.i(TAG,           "call startAmr(File mRecAudioFile) failed!"               + e.getMessage());     }   }    /**    * 停止錄音    *    */   public long stopRecord() {     if (mMediaRecorder == null)       return 0L;     endTime = System.currentTimeMillis();     Log.i("ACTION_END", "endTime" + endTime);     mMediaRecorder.stop();     mMediaRecorder.reset();     mMediaRecorder.release();     mMediaRecorder = null;     Log.i("ACTION_LENGTH", "Time" + (endTime - startTime));     return endTime - startTime;   }    private final Handler mHandler = new Handler();   private Runnable mUpdateMicStatusTimer = new Runnable() {     public void run() {       updateMicStatus();     }   };    /**    * 更新話筒狀態(tài)    *    */   private int BASE = 1;   private int SPACE = 100;// 間隔取樣時間    private void updateMicStatus() {     if (mMediaRecorder != null) {       double ratio = (double)mMediaRecorder.getMaxAmplitude() /BASE;       double db = 0;// 分貝       if (ratio > 1)         db = 20 * Math.log10(ratio);       Log.d(TAG,"分貝值:"+db);       mHandler.postDelayed(mUpdateMicStatusTimer, SPACE);     }   } }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 双柏县| 昭苏县| 洪江市| 依安县| 祁东县| 泾阳县| 广宗县| 龙里县| 富锦市| 崇义县| 祁东县| 大洼县| 白山市| 济宁市| 宣恩县| 郯城县| 神农架林区| 彭州市| 那坡县| 抚顺市| 永德县| 江西省| 炉霍县| 任丘市| 石狮市| 喜德县| 韶关市| 洪江市| 南昌市| 孝感市| 扎兰屯市| 邹城市| 韩城市| 察隅县| 秦皇岛市| 承德县| 浦江县| 四川省| 堆龙德庆县| 双桥区| 简阳市|