a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

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

2020-04-11 11:35:14
字體:
來源:轉載
供稿:網友

參考文章Android中實時獲取音量分貝值詳解://www.5lwq4hdr.cn/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:實例化MediaRecorder對象 */     if (mMediaRecorder == null)       mMediaRecorder = new MediaRecorder();     try {       /* ②setAudioSource/setVedioSource */       mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 設置麥克風       /* ②設置音頻文件的編碼:AAC/AMR_NB/AMR_MB/Default 聲音的(波形)的采樣 */       mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);             /*        * ②設置輸出文件的格式:THREE_GPP/MPEG-4/RAW_AMR/Default THREE_GPP(3gp格式        * ,H263視頻/ARM音頻編碼)、MPEG-4、RAW_AMR(只支持音頻且音頻編碼要求為AMR_NB)        */       mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);        /* ③準備 */       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();     }   };    /**    * 更新話筒狀態    *    */   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);     }   } }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中国一级毛片 | 国产极品久久 | www中文字幕 | 国产精品久久国产精品 | 天天综合久久 | 中文字幕精品一区二区三区精品 | 日韩成人在线观看视频 | 久久99久久98精品免观看软件 | 亚洲欧洲视频在线 | 一区二区在线视频免费观看 | 久久网av | 国99久9在线视频播放免费 | 不卡一区 | 欧美成人精品在线观看 | 中文字幕一二三 | 青青艹在线视频 | 亚洲国产视频一区 | 欧美白人做受xxxx视频 | 欧美爆操 | 中文字幕乱码一区二区三区 | 成人黄在线观看 | 久久成人一区二区 | 欧美日韩精品久久久 | 亚洲黄色在线免费观看 | 日韩精品小视频 | 99这里只有精品 | 久久国产精品视频 | 黑人巨大精品欧美一区二区三区 | 亚洲婷婷一区二区三区 | 亚洲成av人片在线观看 | 久久av一区二区三区 | 精品在线小视频 | 日本一区二区不卡视频 | 中文字幕在线免费视频 | 欧美视频在线播放 | 欧美成人精品一区二区三区 | 久久久久综合网 | 欧美日韩国产一区二区三区不卡 | 在线国产欧美 | 青草精品| 亚洲高清在线 |