2
的MediaRecorder適用於Android的其它版本而不是在2.3.3:的Android MediaRecorder - 啓動失敗:-2147483648 2.3.3
try {
MediaRecorder mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mRecorder.setOutputFile(path + "r_" + FileName);
int version = android.os.Build.VERSION.SDK_INT;
Log.d("MP3Downloader", "V: " + version);
if(version >= 8) {
mRecorder.setAudioEncodingBitRate(16);
mRecorder.setAudioSamplingRate(44100);
mRecorder.setAudioChannels(2);
}
mRecorder.prepare();
mRecorder.start();
} catch (Exception e) {
Log.e("MP3Downloader", "MediaRecorder Failed: " + e.getMessage());
}
我得到錯誤啓動失敗:-2147483648 2.3.3版本只要。我沒有發現在其他地方解決這個問題。
我也試過:
try {
MediaRecorder mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
FileOutputStream fos = new FileOutputStream("r_" + FileName);
mRecorder.setOutputFile(fos.getFD());
int version = android.os.Build.VERSION.SDK_INT;
Log.d("MP3Downloader", "V: " + version);
if(version >= 8) {
mRecorder.setAudioEncodingBitRate(16);
mRecorder.setAudioSamplingRate(44100);
mRecorder.setAudioChannels(1);
}
mRecorder.prepare();
mRecorder.start();
} catch (Exception e) {
Log.e("MP3Downloader", "MediaRecorder Failed: " + e.getMessage());
}
但是,我得到異常: 「(只讀文件系統)」
我有權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
我認爲這個問題來自於使用MediaRecorder對象的多個實例......這是一種多次調用的方法,每次它將mRecorder重新分配給MediaRecorder的新實例。我猜OS /垃圾收集器/看門狗正在照顧其他大多數Android版本的舊MediaRecorder對象,但2.3.3不喜歡我糟糕的編程習慣......我修復它重新使用MediaRecorder根據圖http://developer.android.com/reference/android/media/MediaRecorder.html – 2012-07-31 04:02:16
您的評論給了我希望再次..我有同樣的問題,這是讓我瘋了!將試試看,如果它的作品肯定會做一些upvoting在這裏和那裏:)。順便說一句android開發者。可以把他們的行爲放在一起,並更好地記錄這類事情,因爲此刻這可不是什麼荒謬的事情 – spirytus 2012-08-12 23:06:28