如何使用 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”