2011-07-04 7 views
3

iPadでビデオ録画を開始するのにオーバーレイボタンを使用しています。UIImagePicker StartVideo問題

私は[imagePickerController startVideoCapture]呼び出すと、私は

iPadが記録を開始しない"すでにクリアtakingvideo活動の指標" を取得します。 startVideoCaptureを再度呼び出した後に録画が開始されます。 以下は私のコードです。どんな助けもありがとう。

- (IBAction)startStop:(id)sender 
{ 
    if (isCapturingVideo) 
    { 
     isCapturingVideo = FALSE; 
     [self.imagePickerController stopVideoCapture]; 
    } 

    else if (!isCapturingVideo) 
    { 

     NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; 
     NSArray *videoMediaTypesOnly = [mediaTypes filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(SELF contains %@)", @"movie"]]; 

     if ([videoMediaTypesOnly count] == 0)  //Is movie output possible? 
     { 
      UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Sorry but your device does not support video recording" 
                    delegate:nil 
                  cancelButtonTitle:@"OK" 
                 destructiveButtonTitle:nil 
                  otherButtonTitles:nil]; 
      [actionSheet showInView:[[self view] window]]; 
      [actionSheet autorelease]; 
     } 
     else 
     { 

      self.imagePickerController.mediaTypes = videoMediaTypesOnly; 
      self.imagePickerController.videoQuality = UIImagePickerControllerQualityTypeMedium; 
      self.imagePickerController.videoMaximumDuration = 180; 
      self.imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo; 
      self.imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront; 
      isCapturingVideo = TRUE; 
      BOOL result = [self.imagePickerController startVideoCapture]; 
      NSLog(@"Result Camera: %@", [email protected]"YES":@"NO"); 

     } 


    } 
} 

答えて

0

私はあなたのコードにisCapturingVideoフラグと関係があると信じています。ドキュメントにはCalling this method while a movie is being captured has no effect.と記載されています。
フラグが正しく更新されていないと思われます。起動する前にビデオを強制的に(stopVideoCaptureを使用して)閉じることができます。

関連する問題