点击"使用"按钮后,UIImagePickerController会间歇性地停止响应

Ros*_*oss 8 iphone objective-c uiimagepickercontroller

我有一个录制视频的应用.该应用程序是cocos2d和UIKit的混合,虽然使用UIImagePickerController的部分都是UIKit.

问题:拍摄视频后,当您点击"使用"按钮时,按钮会切换到选定状态,然后没有任何反应."重新启动"按钮被禁用.您仍然可以播放/暂停视频,但视图永远不会被忽略,- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info也永远不会被调用.

问题发生在长短(<5秒)的视频中.导致内存警告无法重现该问题.在启动图像选择器之前更改音频会话也不会重现问题.

我一直无法解决这个问题.它偶尔会发生.有任何想法吗?

这是呈现UIImagePickerController的代码

  UIImagePickerController *tmpVC = [[UIImagePickerController alloc] init];
  tmpVC.delegate = self;
  tmpVC.allowsEditing = YES;
  // First get the right media types for the right source
  NSArray *types = nil;
  if (useCamera)
  {
    types = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
    tmpVC.sourceType = UIImagePickerControllerSourceTypeCamera;
  }
  else
  {
    types = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
    tmpVC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  }

  // Then see if "movie" is in there
  for (NSString *mediaType in types)
  {
    if ([mediaType isEqualToString:(NSString*)kUTTypeMovie])
    {
      tmpVC.mediaTypes = [NSArray arrayWithObjects:(NSString*)kUTTypeImage,(NSString*)kUTTypeMovie,nil];
      tmpVC.videoQuality = UIImagePickerControllerQualityTypeHigh;
    }
  }

  // Present the configured controller
  [self presentModalViewController:tmpVC animated:YES];
  [tmpVC release];
Run Code Online (Sandbox Code Playgroud)

Mih*_*atu 1

您正在模拟器中测试该应用程序吗?尝试在设备上测试它,看看是否有同样的效果。我记得我遇到过类似的问题,我无法使用模拟器中的选择器选择视频,因为在我按下“使用”按钮后应用程序就会“卡住”。