我正在使用其中一個視圖具有MPMoviePlayer的tabbarcontroller。它工作正常,除了如果我改變標籤,電影不停止並繼續在後臺播放。然後,如果我嘗試回到電影標籤,它會崩潰。使用tabbarcontroller時釋放MPMoviePlayer
我認爲我必須發佈MPMoviePlayer的唯一代碼就是當它完成播放時,但我希望它在我改變視圖時被釋放。然後如果我回到電影標籤,我們開始新鮮。
在我.h文件中已設置爲:
import < UIKit/UIKit.h>
import < MediaPlayer/MediaPlayer.h>
@interface SecondViewController : UIViewController {
MPMoviePlayerController *player;
}
@end
,在我的.m文件有:
- (void)viewDidLoad {
NSString *url = [[NSBundle mainBundle]
pathForResource:@"vid"
ofType:@"m4v"];
player = [[MPMoviePlayerController alloc]
initWithContentURL:[NSURL fileURLWithPath:url]];
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
//--called when the movie view and then add it to the View window--
player.view.frame = CGRectMake(10, 10, 300, 300);
[self.view addSubview:player.view];
//--play movie--
[player pause];
[super viewDidLoad];
}
//--called when the movie is done playing--
- (void) movieFinishedCallback:(NSNotification*) aNotification {
MPMoviePlayerController *moviePlayer = [aNotification object];
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
[moviePlayer.view removeFromSuperview];
[player release];
}
任何建議?謝謝:)
或...是否有可能讓視圖全屏打開視頻(就像我認爲舊的視頻播放代碼曾經這樣做),然後你要麼退出部分路徑,要麼一直觀看它?也許有這個鏈接從選項卡視圖中的播放按鈕? – 2011-03-04 16:21:44