Android API的MediaRecorder可以关闭声音吗?
我想写一个程序,记录视频,但不是声音Android API的MediaRecorder可以关闭声音吗?,android,mediarecorder,Android,Mediarecorder,我想写一个程序,记录视频,但不是声音 有谁能帮助我在使用MediaRecorder录制视频时不录制声音吗?这确实是可能的。请参阅MediaRecorder中的: 如果未调用此方法,则输出文件将不包含音频曲目 因此,如果您只需要视频,请不要调用此方法。您只需准备mediarecorder的视频要求,如: private boolean prepareMediaRecorder(){ myCamera = getCameraInstance(); mediaRecorder = ne
有谁能帮助我在使用MediaRecorder录制视频时不录制声音吗?这确实是可能的。请参阅MediaRecorder中的: 如果未调用此方法,则输出文件将不包含音频曲目
因此,如果您只需要视频,请不要调用此方法。您只需准备mediarecorder的视频要求,如:
private boolean prepareMediaRecorder(){
myCamera = getCameraInstance();
mediaRecorder = new MediaRecorder();
// store the quality profile required
CamcorderProfile profile = CamcorderProfile.get(mCameraId, CamcorderProfile.QUALITY_HIGH);
myCamera.unlock();
mediaRecorder.setCamera(myCamera);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setOutputFormat(profile.fileFormat);
mediaRecorder.setVideoEncoder(profile.videoCodec);
mediaRecorder.setVideoEncodingBitRate(profile.videoBitRate);
mediaRecorder.setVideoFrameRate(profile.videoFrameRate);
mediaRecorder.setVideoSize(profile.videoFrameWidth, profile.videoFrameHeight);
mediaRecorder.setOutputFile("/sdcard/myvideo.mp4");
mediaRecorder.setMaxDuration(60000 * 20); // Set max duration 60 *20 sec.
mediaRecorder.setMaxFileSize(5000000 * 4); // Set max file size 5M * 4
mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface());
try {
mediaRecorder.prepare();
} catch (IllegalStateException e) {
releaseMediaRecorder();
return false;
} catch (IOException e) {
releaseMediaRecorder();
return false;
}
return true;
}
否如果未调用该函数,它将崩溃并出现错误:IllegalStateexception@daivuk我已经三年多没有测试或研究过这个了,所以有可能API在这段时间内已经改变了。但是,您确定在调用setOutputFormat之前没有调用setAudioEncoder,或者在调用prepare之后没有调用setAudioEncoder吗?文档中指出,执行这两种操作中的任何一种都将抛出非法状态异常。