博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

利用苹果里面的相机进行录像

Posted on 2011-07-11 17:29  BradyChen  阅读(634)  评论(0编辑  收藏  举报
-(void) choosePhotoBySourceType: (UIImagePickerControllerCameraCaptureMode) sourceType
{
    m_imagePickerController = [[[UIImagePickerController alloc] init] autorelease];
    m_imagePickerController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    m_imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    m_imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront;
    //m_imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
    
    
    NSArray *sourceTypes = [UIImagePickerController availableMediaTypesForSourceType:m_imagePickerController.sourceType];
    if ([sourceTypes containsObject:(NSString *)kUTTypeMovie ])
    {
        m_imagePickerController.mediaTypes= [NSArray arrayWithObjects:(NSString *)kUTTypeMovie,(NSString *)kUTTypeImage,nil];
    }    
    
    
   // m_imagePickerController.cameraCaptureMode = sourceType;
    //m_imagePickerController.mediaTypes
    //imagePickerController.allowsEditing = YES;
    
    [self presentModalViewController: m_imagePickerController animated:YES];

}

-(void) takePhoto
{
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
    {
            
        
        [self choosePhotoBySourceType:nil];
    }
}


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIButton *takePhoto = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [takePhoto setTitle:@"录像" forState:UIControlStateNormal];
    [takePhoto addTarget:self action:@selector(takePhoto) forControlEvents:UIControlEventTouchUpInside];
    takePhoto.frame = CGRectMake(50,100,100,30);
    [self.view addSubview:takePhoto];
}