作者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