2

在我的录制应用程序中,我使用的sessionPreset是AVCaptureSessionAVCaptureSessionPresetMedium.

我设置 contentsGravity的是kCAGravityResizeAspectFill

我已将录制视图的大小设置为320 X 568。当我播放录制的视频时,MPMoviePlayerController我得到的视频大小是360 X 480

所以它在 iPhone 5 屏幕的顶部和底部显示黑条。

如果我设置scalingMode的是MPMovieScalingModeAspectFill比其填充屏幕大小,但似乎有点模糊。

在 iPhone 4/4s 上(3.5 英寸屏幕)

录制视图的大小为 320 X 480。

scalingMode播放录制的视频时,无需设置即可完美运行。

如果我想在录制时间或播放时间设置任何属性,任何人都可以帮助我。

这是默认行为还是我可以解决这个问题?

谢谢你的帮助。

4

1 回答 1

0

AVCaptureSessionPresetMedium 使用的相机分辨率为 360.000000 和 480.000000。这是 AVCaptureSessionPresetMedium 的默认分辨率,因此它不适用于 iPhone-5 显示器。

它没有针对 iPhone-5(4 英寸)显示分辨率进行更新。如果你想在 iPhone-5 上获得更高分辨率的图像,你应该使用 AVCaptureSessionPresetHigh。但它会为您提供 1980 * 1080 的图像分辨率。所以它可以正常工作,但会增加图像的大小字节。

您也可以通过以下方式检查:

AVCaptureSession *newCaptureSession = [[AVCaptureSession alloc] init];    

 if (IS_IPHONE5) 
{          
           newCaptureSession.sessionPreset = AVCaptureSessionPresetHigh; 
}
else
        {
       newCaptureSession.sessionPreset = AVCaptureSessionPresetMedium;

        }
于 2014-02-04T07:07:14.610 回答