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