2010-04-18 7 views
0

Je voudrais avoir les deux films qui jouent à la fois dans leurs deux points de vue sous différents. Ils sont tous deux accédaient différents médias.i ont deux mpmovieplayercontrollers et deux sous-vues distincts qu'ils utilze ... sauf que seule la vidéo va jouer à un moment

c'est sur un iPad avec un superview et deux petites vues 320x240 droit de eachother sur le xib.

-(IBAction)playLeft:(id)sender{ 
if ([self.playerRight playbackState] == MPMoviePlaybackStatePlaying); 
[self.playerRight stop]; 

[self.playerLeft play]; 
} 

-(IBAction)playRight:(id)sender{ 
if ([self.playerLeft playbackState] == MPMoviePlaybackStatePlaying); 
[self.playerLeft stop]; 

[self.playerRight play]; 
} 



- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor]; 

self.playerLeft = [[MPMoviePlayerController alloc] init]; 
self.playerLeft.contentURL = [self movieURL]; 

NSLog(@"self.playerLeft %@", self.playerLeft); 


self.playerRight = [[MPMoviePlayerController alloc] init]; 
self.playerRight.contentURL = [self movieURL2]; 

NSLog(@"self.playerRight %@", self.playerRight); 



// START_HIGHLIGHT 
self.playerLeft.view.frame = self.leftView.bounds; 
self.playerLeft.view.autoresizingMask = 
UIViewAutoresizingFlexibleWidth | 
UIViewAutoresizingFlexibleHeight; 

self.playerRight.view.frame = self.rightView.bounds; 
self.playerRight.view.autoresizingMask = 
UIViewAutoresizingFlexibleWidth | 
UIViewAutoresizingFlexibleHeight; 

[self.rightView addSubview:playerRight.view]; 
[self.leftView addSubview:playerLeft.view]; 


//[self.playerRight play]; 

//[self.playerLeft play]; 


//[self clickedOpenMovie:nil]; 

} 

-(NSURL *)movieURL 
{ 
NSBundle *bundle = [NSBundle mainBundle]; 
NSString *moviePath = 
[bundle 
     pathForResource:@"720p5994-prores-hq_iPhone_320x240 two" 
ofType:@"m4v"]; 
//NSString *moviePath = [NSString stringWithFormat:@"http://localhost:1935/live/aStream/playlist.m3u8"]; 

if (moviePath) { 
return [NSURL fileURLWithPath:moviePath]; 
//return [NSURL URLWithString:moviePath]; 

} else { 
return nil; 
} 
} 

-(NSURL *)movieURL2 
{ 
NSBundle *bundle = [NSBundle mainBundle]; 
NSString *moviePath = 
[bundle 
pathForResource:@"720p5994-prores-hq_iPhone_320x240" 
ofType:@"m4v"]; 
if (moviePath) { 
return [NSURL fileURLWithPath:moviePath]; 
} else { 
return nil; 
} 
} 

Répondre

1

Le problème est que quelque part dans l'arrière-plan MPMoviePlayerController répond aux notifications et se désactive automatiquement si une autre MPMoviewPlayerController diffuse que son va commencer. Ainsi on ne peut pas avoir plusieurs MPMoviePlayerControllers qui jouent en même temps. Vous pouvez voir ceci en imprimant le MPMoviePlayerPlaybackStateDidChangeNotification