私はこのようにAndroidでビデオを録画しています
List<Camera.Size> list = myCamera.getParameters().getSupportedPictureSizes();
Parameters parameters = myCamera.getParameters();
parameters.setColorEffect(coloreffects.get(index_color_effect));
myCamera.setParameters(parameters);
mediaRecorder = new MediaRecorder();
myCamera.unlock();
mediaRecorder.setCamera(myCamera);
mediaRecorder.setOrientationHint(90);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(AudioEncoder.HE_AAC);
mediaRecorder.setVideoEncoder(VideoEncoder.H264);
mediaRecorder.setOutputFile(Constants.videourl);
mediaRecorder.setMaxDuration(30000); // Set max duration 60 sec.
mediaRecorder.setVideoFrameRate(24);
mediaRecorder.setVideoFrameRate(30);
mediaRecorder.setVideoSize(720, 480);
mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface());
このビデオは録画されており、Android では問題なく再生できますが、iPhone では再生できません。
このコードを記録に使用する場合
// work two
{
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setOutputFile(videourl);
mediaRecorder.setMaxDuration(30000); // Set max duration 60 sec.
}
これは互換性のあるビデオを記録します.with iphoneもうまくいきます。しかし、これはsamsung note2で約47 mbsの30秒のビデオを記録します。
何か助けはありますか?