저는 MediaRecorder를 사용하여 오디오를 녹음하고 AAC 오디오가 포함 된 .mp4로 저장합니다. Android 4.1을 사용하는 Nexus S를 제외한 모든 기기에서 문제없이 작동합니다. 그 장치에서 나는 start() (나는 생각한다)에서 에러 (1, -2147483648)를 받거나 계속 잘하지만, 출력 파일은 항상 비어있다. 앱이 다른 기기에서 작동하므로 필요한 권한이 있습니다.Android MediaRecorder 오류 (1, -2147483648)
mRecorder.reset();
mRecorder.setOnErrorListener(new MediaRecorder.OnErrorListener() {
@Override
public void onError(MediaRecorder mr, int what, int extra) {
Log.e("sagasg", what + " " + extra);
}
});
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mRecorder.setAudioSamplingRate(SAMPLING_RATE);
mRecorder.setAudioEncodingBitRate(BIT_RATE);
mFileName = "unnamed-" + mTimeStarted.year + "-" + mTimeStarted.month + "-" + mTimeStarted.monthDay
+ "-" + mTimeStarted.hour + "-" + mTimeStarted.minute + "-" + mTimeStarted.second;
mRecorder.setOutputFile(mFilePath + mFileName + mExtension);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
}
mRecorder.start();
FileOutputStream도 동일한 결과를 제공합니다. 음, 똑같은지 모르겠다. 여기에 넥서스가 없기 때문에 휴대 전화에서 작동하고 넥서스 S에서 충돌이 발생한다. – DariusL