作者jim31837 (....)
看板AndroidDev
標題[問題] MediaRecorder
時間Mon Jun 6 23:06:11 2011
開發層: (應用/框架/庫/核心)
App
問題:
有關MediaRecorder.setAudioSource() 和getMaxAmplitude()
輸入:
從麥克風的聲音輸入
預期輸出:
MR.start()到MR.getMaxAmplitude()被call到之前的最大音量
錯誤輸出:
MR.getMaxAmplitude()一直return的結果都是0
錯誤訊息:
MR.setAudioSource()出現了
unsupported parameter的error
上網GOOGLE了發現一堆人都有這個問題
http://code.google.com/p/android/issues/detail?id=5063
這是系統的BUG嗎?
程式碼: (請多利用置底文網站)
Log.i("ffffffffffffffb","before set MIC");
mRecorder = new MediaRecorder();
mRecorder.reset();
Log.i("bbbbbbbbbbbbb","before set MIC");
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
Log.i("cccccccccccc","before set MIC");
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
Log.i("aaaaaaaaa","before set MIC");
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setOutputFile("/mnt/sdcard/testAudio.amr");
.
.
.
.
.
.
//在start()之後5秒呼叫
//這行一值得到0的結果
Log.i("Volume",String.valueOf(mRecorder.getMaxAmplitude));
參考: (書籍/網頁/...)
補充說明:
permiss的 RECORD_AUDIO和EXTERNAL_STORAGE都有加了
弄了很久之後確定問題應該是出在這兩行
有人有辦法抓到非0的值嗎
錄音檔我用電腦開得起來 聲音也聽得到
還是我得改用AudioRecord呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.175.14
1F:→ jim31837:手機是用DESIRE 好像很多支手機都有這個災情 06/06 23:07
2F:→ jim31837:第二個BUG已解 06/07 00:08
3F:→ jim31837:getMaxAmplitude()這個METHOD CALL第一次一定會得到0的值 06/07 00:09
4F:→ jim31837:必須在第一次CALL完後約0.15秒的DELAY在CALL一次才有值 06/07 00:10