- (void)playVideo:(NSString*)url
{
NSLog(@"play~");
if(![PlayUrl isEqualToString:url]){
playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];
//playerViewController.moviePlayer.allowsAirPlay = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:[playerViewController moviePlayer]];
PlayUrl=[url copy];
//-- add to view---
[self.view addSubview:playerViewController.view]; //sdl4.3使用正常
//[self presentModalViewController:playerViewController animated:YES]; // sdk5.0使用正常
}else{
playerViewController.view.hidden=NO;
}
}
- (void) movieFinishedCallback:(NSNotification*) aNotification {
MPMoviePlayerController *player = [aNotification object];
[player pause];
playerViewController.view.hidden=YES;//sdl4.3使用正常
//[self dismissModalViewControllerAnimated:YES]; // sdk5.0使用正常
}
-(IBAction) pressedbutton:(id)sender
{
NSLog(@"按到我了");
NSString *url;
switch ([sender tag]) {
case 1:
url = [[NSBundle mainBundle] pathForResource:@"張學友 - 明天我要嫁給你" ofType:@"mp4"];
break;
default:
url = [[NSBundle mainBundle] pathForResource:@"video-2012-01-15-16-48-36" ofType:@"mp4"];
break;
}
[self playVideo:url];
}
sdk4.3沒問題,因爲我需要重新打開保持原來的播放進度!
但在sdk5.0 就出現問題多了1個導航白條, 而且MPMoviePlayerViewController還不是全屏,看不到播放器的控制導航和快進等等、糾結!
用[self presentModalViewController:playerViewController animated:YES]; 白條問題和全屏問題都可以解決,
但是重新打開就是重新播放。 難道魚和熊掌不能兼得?