2

我已经定制了 UIImagePickerController 来以我自己的风格捕捉视频帧。我创建了一个 UIImagePickerController 如下所示。

self.iPicker = [[[UIImagePickerController alloc] init] autorelease];
self.iPicker.delegate = self;
self.iPicker.sourceType = sourceType;

self.iPicker.showsCameraControls = NO;
self.iPicker.allowsEditing = YES;
self.iPicker.wantsFullScreenLayout = YES;
self.iPicker.navigationBarHidden = YES;
self.iPicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:
                           UIImagePickerControllerSourceTypeCamera];
self.iPicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
self.iPicker.videoQuality = UIImagePickerControllerQualityTypeHigh;

但是,当我在单击录制按钮之前双击捕获屏幕时,它会将捕获帧大小更改为视网膜大小。如果我再做一次,它会恢复到原来的大小。我不希望在我的选择器控制器中出现这种行为。当用户从设置菜单中选择视频质量时,我想更改选择器大小。

众所周知,UIImagePickerController 对象的视频捕获大小有 6 种质量类型。它们如下所示。

typedef NS_ENUM(NSInteger, UIImagePickerControllerQualityType) {
    UIImagePickerControllerQualityTypeHigh = 0,       // highest quality
    UIImagePickerControllerQualityTypeMedium = 1,     // medium quality, suitable for transmission via Wi-Fi 
    UIImagePickerControllerQualityTypeLow = 2,         // lowest quality, suitable for tranmission via cellular network
    UIImagePickerControllerQualityType640x480 = 3,    // VGA quality
    UIImagePickerControllerQualityTypeIFrame1280x720 = 4,
    UIImagePickerControllerQualityTypeIFrame960x540 = 5
};

请帮我解决自动更改行为的问题。

4

0 回答 0