2015-08-21 107 views
1

我想從ImagePickerController的照片庫中取最大30秒的特定視頻。獲取接收內存警告?

當我收到URL後,我打算在第二個視圖中播放AVPlayer中選定的視頻。

我收到「收到的內存警告」。和 「」 連接到assetsd中斷或assetsd死了」。

如何解決這個問題?有人可以幫我嗎?

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    NSURL *videoURL= [info objectForKey:UIImagePickerControllerMediaURL]; 

    NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL]; 
    AVAsset *asset = [AVAsset assetWithURL:url]; 

    [picker dismissViewControllerAnimated:YES completion:^{ 
     Edition *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"EditionVC"]; 
     vc.videoUrl=videoURL; 
     vc.asset=asset; 
     [self presentViewController:vc animated:YES completion:nil]; 
    }]; 
} 

在第二視圖中播放視頻。

self.avPlayerItem = [AVPlayerItem playerItemWithURL:self.videoUrl]; 
self.avPlayer = [AVPlayer playerWithPlayerItem:self.avPlayerItem]; 
[self.avPlayer play]; 
self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(playerItemDidPlayToEndTime:) 
               name:AVPlayerItemDidPlayToEndTimeNotification 
              object:self.avPlayerItem]; 
+0

你是如何解決這個問題的? – abhi1992

+0

我爲視頻設置了較低的質量。 'picker.videoQuality = UIImagePickerControllerQualityTypeIFrame1280x720;' –

回答

1

你在Instruments.app中有內存分析工具 - 這會顯示你的應用程序中與分配相關的大量數據。

通過儀器檢查應用程序 - >內存分配

它會顯示所有內存使用的應用程序,如果有任何泄漏,它會顯示。

+0

我知道。 Cpu - 20%,內存-56MB,DIsk-0,網絡-0,FPS-30 –