2011-05-26 30 views
0

這個讓我感到困惑。如果有人有任何答案,他們表示讚賞。當設置爲MPMovieRepeatModeOne時,MPMoviePlayer不會重複

我有以下的方法,在我的應用程序加載過程中起着視頻:

-(void)playLoadingMovie 
{ 
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4"]; 
movieController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]]; 
movieController.moviePlayer.repeatMode = MPMovieRepeatModeOne; 
[movieController.moviePlayer setControlStyle:MPMovieControlStyleNone]; 
[movieController.view setFrame:CGRectMake(0, 0, self.view.frame.size.height, self.view.frame.size.width)]; 
[self.view addSubview:movieController.view]; 
NSLog(@"repeatMode: %d",movieController.moviePlayer.repeatMode); 
} 

一切都是正確聲明,合成,釋放,等等...在合適的地方,其他地方的情況碼。這種特殊的方法工作得很好,除了它不應該重複的事實。

您可以看到repeatMode被設置爲MPMovieRepeatModeOne,並且當我運行代碼時,日誌語句就像它應該那樣打印出「repeatMode:1」。

我知道我可以做一些黑客行爲,併爲電影完成時設置觀察者並讓它再次播放電影的方法,但我寧願讓此代碼正常工作。

任何想法?

回答

2

我發現了它不重複的原因。在我開始電影之後,我開始了一些內存密集型進程,不幸的是,對於我來說,我在主線程中發生了很多事情,當電影結束時,沒有足夠的內存可供重複使用。瘸。

所以沒有錯的代碼。

現在,我將探索使用其他線程的一些進程,以便在電影的主線程上騰出空間來重複。

+0

你是如何確定這是問題的? – rrbrambley 2013-03-13 19:42:40

0

這可能與您正在做的事情是一樣的,但有時訪問屬性不起作用。你應該嘗試setRepeatMode。

+1

試過了,它也不適用於我。儘管謝謝你的迴應! – EmphaticArmPump 2011-05-26 23:42:46

+0

看到我發佈的答案解決這個問題。 – EmphaticArmPump 2011-05-27 19:20:04

相關問題