6

我正在像这样在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.
         }

这可以很好地录制与 iphone 兼容的视频。但这在三星 note2 上录制了大约 47 mbs 的 30 秒视频。

有什么帮助吗?

4

1 回答 1

1

iPhone 支持 MPEG-4 视频格式的视频,分辨率不大于 640x480

试试这个 mediaRecorder.setVideoSize(640, 480);

更多信息:在 iphone 上播放视频

视频格式:MP4、MOV、M4V

视频尺寸:高达 640x480

视频帧率:最高 30fps

视频比特率:H.264 最高 1.5Mbps,MPEG-4 最高 2.5Mbps

音频:AAC 高达 160Kbps,48kHz

于 2013-05-08T09:24:09.343 回答