2013-02-28 2 views
1

Я пытаюсь получить фильм mp4 для воспроизведения в UICollectionViewCell. Мне не повезло, что он показал. Итак, мой первый вопрос: возможно ли это? Если да, то что я делаю неправильно? Это не-ARC проект и я не использую никаких XIBs или раскадровку ...MPMoviePlayerController в UICollectionViewCell

NSURL * theURL = nil; 
NSBundle * bundle = [NSBundle mainBundle]; 
if (bundle) 
{ 
    NSString * thePath = [bundle pathForResource:@"intro" ofType:@"mp4"]; 
    if (thePath) 
    { 
     theURL = [NSURL fileURLWithPath:thePath]; 
    } 
} 

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: theURL]; 
[player prepareToPlay]; 
[player.view setFrame: self.contentView.bounds]; // player's frame must match parent's 
[self.contentView addSubview: player.view]; 
[player play]; 
[player release]; 
+0

Держите игрока в @property и проверьте это. Не отпускайте его после игры. – iDev

ответ

1

смотрит на меня, как вы отпуская игрок, так что это время освобождаться.

Прокомментировать последний выпуск и посмотреть, исправляет ли он это. Если это так, вам нужно сохранить ссылку где-нибудь (член ivar/свойство ячейки?) И выпустить ее позже.

+0

Я не знаю, будет ли это исправлено: вызов 'release' уменьшит количество удержаний, но он уже добавил игрока в качестве подпункта, поэтому счетчик удержания не будет равен нулю и, следовательно, не будет выпущен до тех пор, пока игрок покидает супервизор. Я согласен, что освобождение там не очень хорошо, но в игре может быть что-то еще. – lxt

+1

он добавил просмотр игрока в качестве подзаголовка. который не содержит контроллер плеера в памяти. – TomSwift

+0

Очень верно, мое плохое. Сожалею. – lxt

Смежные вопросы