如何使用 UIImagePickerController 类只显示 iPhone 3GS 的录像机

Posted

技术标签:

【中文标题】如何使用 UIImagePickerController 类只显示 iPhone 3GS 的录像机【英文标题】:How to allow only the video recorder of iPhone 3GS to show up using UIImagePickerController class 【发布时间】:2009-08-07 12:39:50 【问题描述】:

使用 UIImagePicker 类,我可以选择 UIImagePickerControllerSource 作为 UIImagePickerControllerSourceTypeCamera。这将同时显示选项、相机和录像机。

我只希望用户可以使用视频录制选项。一旦用户打开它就开始录制,而无需点击录制按钮。

谁知道这怎么可能?

谢谢

【问题讨论】:

【参考方案1】:

在 UIImagePickerController 上设置 mediaTypes 属性。

【讨论】:

是的 - 可以将媒体类型设置为 kUTTypeMedia。但问题仍然没有 100% 得到回答。我怎样才能在录音机打开的那一刻自动录音。不希望用户点击录制按钮。 啊。没办法,我很确定。 大卫 - 感谢您的跟进!只是一个超级疯狂的想法 - 是否有可能以编程方式在特定 (x, y) 处发生 UITouch 事件? 所以基本上你想模拟鼠标点击录制按钮?我不知道,但我认为我没有看到任何应用程序这样做,所以这可能是不可能或不允许的。【参考方案2】:

在你的 .h 文件中

#define MAX_VIDEO_DURATION 10
@interface VideoCaptureVC_iPhone : UIViewController
<UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>

    IBOutlet UIImageView *imageView;
    UIImagePickerController *picker;

在你的 .m 文件中

- (void)viewDidLoad

 // Create UIImagePickerController
    picker = [[UIImagePickerController alloc] init];
    picker.videoQuality = UIImagePickerControllerQualityTypeMedium;
    picker.mediaTypes = [NSArray arrayWithObject:(NSString*)kUTTypeMovie];
    picker.videoMaximumDuration = MAX_VIDEO_DURATION;

    // Set the source type to the camera
    [picker setSourceType:UIImagePickerControllerSourceTypeCamera];

    // Set ourself as delegate
    [picker setDelegate:self];

    // Always check to see if there is a front facing camera before forcing one on the picker
    if([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront])
        [picker setCameraDevice:UIImagePickerControllerCameraDeviceFront];
    
    [picker setShowsCameraControls:NO];
[picker takePicture]

【讨论】:

以上是关于如何使用 UIImagePickerController 类只显示 iPhone 3GS 的录像机的主要内容,如果未能解决你的问题,请参考以下文章

如何快速从 UIImagePickerController 获取 UIImage 元数据?像“.location”

如何在目标c中的UILabel上显示UIImage文件路径

将导入的照片保存在 xcode 项目中

在 UIPopoverController 中使用 UIImagePickerController 后播放视频消失

从照片中获取详细信息

Swift 图像和视频资产添加到 Fusuma