我有一個應用程序可以記錄視頻。該應用程序是cocos2d和UIKit的混合,儘管使用UIImagePickerController的部分都是UIKit。點擊「使用」按鈕後,UIImagePickerController間歇性停止響應
問題: 拍完視頻後,點擊「使用」按鈕後,按鈕變爲選定狀態,然後什麼都不會發生。 「重拍」按鈕被禁用。您仍然可以播放/暫停視頻,但該視圖永不會被解除,並且永遠不會調用該視頻。
問題發生在多空(< 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];
我在僅有UIKit的應用程序中看到相同的問題,但僅在一個(iOS 5)設備上;另一個(iOS 4)工作正常。 – 2012-06-06 12:36:04
由於您的問題不是很詳細,只顯示一小段代碼,我會評論而不是回答。 「偶爾」表明它與線程(手動或自動)有關。我想嘗試的一件事就是刪除這一行'[tmpVC release];'。另一件事是,確保委託設置正確。看看'imagePickerController'並放置一個日誌/斷點。然後逐步瞭解調試中發生的情況。如果你想要更具體的答案,你需要更詳細的問題。 – Byte 2012-06-08 13:36:59
如果你可以分享這個項目,那可能會有幫助。 – Swizzlr 2012-06-10 00:35:25