我正在使用媒体记录器在 android 应用程序中录制视频。
mMediaRecorder.setCamera(mServiceCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
//mMediaRecorder.setVideoSize(mPreviewSize.width, mPreviewSize.height);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
String file_name = Environment.getExternalStorageDirectory().getPath() +"/myVideo.mp4";
mMediaRecorder.setOutputFile(file_name);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.prepare();
mMediaRecorder.start();
问题出在一线
mMediaRecorder.setVideoSize(mPreviewSize.width, mPreviewSize.height);
在 HTC 和 Xperia 中,setVideoSize 工作正常(仅当我不评论此行时才会工作)。但在 Nexus 和 Note 中,setVideoSize 不起作用(仅当我评论此行时才会起作用)。
我应该怎么做才能让应用程序在所有这些设备上正确运行?