【问题标题】:Capture Video in iPhone在 iPhone 中捕捉视频
【发布时间】:2013-04-01 21:22:47
【问题描述】:

我使用以下代码录制视频。

    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 。

我需要在代码中更改哪些内容,以便将视频保存到指定位置

谢谢,

【问题讨论】:

    标签: iphone


    【解决方案1】:

    如果您想将照片/视频保存到手机上的“相机胶卷”相册中:

    定义:

    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: 位置。

    【讨论】:

    • 请将此标记为正确答案:这个地方是给予和接受。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      到相册中保存视频:

      -(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);
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多