在iPhone中捕获视频

问题描述:

我使用下面的代码来记录视频。在iPhone中捕获视频

UIImagePickerController *m_objpicker;=[[UIImagePickerController alloc] init]; 
    m_objpicker.sourceType = UIImagePickerControllerSourceTypeCamera;   

    m_objpicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 

    // hide the camera controls 
    //picker.showsCameraControls=NO; 
    m_objpicker.delegate = self; 
    //picker.allowsImageEditing = NO; 
    m_objpicker.allowsEditing=NO; 
    // and put our overlay view in 
    //picker.cameraOverlayView=m_objOverlayView; 
    [self presentModalViewController:m_objpicker animated:YES]; 

当我们完成录音

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 

    NSURL *m_objMediaURL=[info objectForKey:UIImagePickerControllerMediaURL]; 

    [m_objpicker dismissModalViewControllerAnimated:YES]; 

} 

我的疑问是,如何将捕获的视频保存到我们指定的位置。还有如何使用 UISaveVideoAtPathToSavedPhotosAlbum。

什么所有的事情,我需要在我的代码修改,这样我可以保存视频到指定位置

感谢,

如果你想保存在相机胶卷照片/视频专辑电话:

定义:

void UISaveVideoAtPathToSavedPhotosAlbum (
    NSString *videoPath, 
    id completionTarget, 
    SEL completionSelector, 
    void *contextInfo 
); 

在哪里以及如何执行它:

- (void)imagePickerController:(UIImagePickerController *)picker 
    didFinishPickingMediaWithInfo:(NSDictionary *)info 

{ 

.... code here ..... 

NSString* m_objMediaURL= [info objectForKey:UIImagePickerControllerMediaURL]; 

//remember to test that the video is compatible for saving to the photos album 

UISaveVideoAtPathToSavedPhotosAlbum(m_objMediaURL, self, @selector(video:didFinishSavingWithError:contextInfo:), nil); 

.... code here ..... 

} 

除了保存到我不推荐的应用程序包之外,除了将其保存到相机卷re:位置之外,没有任何控制权。

+0

请将此作为正确回答:这个地方是给和拿。 – Lance 2010-07-28 21:57:31

您可以将视频保存到您指定的位置,请查看以下链接how to capture video in iphone

要保存的视频在相册:

-(void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info { 

NSString *tempFilePath = [[info objectForKey:UIImagePickerControllerMediaURL] path]; 

      if (_newMedia){ 
         if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(tempFilePath)) 
           { 
           // Copy it to the camera roll. 
           UISaveVideoAtPathToSavedPhotosAlbum(tempFilePath, self, @selector(video:didFinishSavingWithError:contextInfo:), (__bridge void *)(tempFilePath)); 
           } 
         } 


-(void) video: (NSString *) videoPath 
didFinishSavingWithError: (NSError *) error 
    contextInfo: (void *) contextInfo { 


NSLog(@"Finished saving video with error: %@", error); 

}