2011-05-25 61 views
4

我有一个MPMoviePlayerController,名为myMoviePlayer;我分配和初始化它,当我的应用程序加载:更改MPMoviePlayerController实例的视频url而不是分配新的

NSString *moviePath = [bundle pathForResource:[movieName uppercaseString] ofType:@"mov" inDirectory:@"Videos"]; 

if(moviePath) 
{ 
    NSURL *movieURL = [NSURL fileURLWithPath:moviePath]; 

    myMoviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
    [**myUI.view** setFrame:CGRectMake(80, 80, 600, 350)]; 
    [self.view addSubview:myMoviePlayer.view]; 
    myMoviePlayer.shouldAutoplay=NO; 
} 

有我的应用程序两种观点名为imageViewvideoView。我需要在imageView中隐藏myMoviePlayer,并在我的用户界面视图为videoView时再次显示。

我每次展示电影时,movieName都会有所不同。

现在,我每次将视图更改为影片视图时,都会分配并初始化myVideoPlayer。是否可以设置一个新的视频网址到myMoviePlayer而无需再次分配?

回答

13

是的,有:

[myMoviePlayer setContentURL:[NSURL URLWithString:aMovieUrl]]; 

只需设置MPMoviePlayerController实例的contentURL property

+0

问题只显示与@Sharmain那么这是开始一个新的视频以正常的方式完全黑屏 – Christina 2011-05-25 19:55:25

+0

电影播放器​​,看看链接。视频是否真的开始?我认为需要一段时间来缓冲。 – 2011-05-25 19:58:54

+0

只显示video.it只有当我点击播放按钮时才会播放 – Christina 2011-05-25 20:01:27

7

Sharmain我收到了你的问题...... 你需要设置的contentURL,然后调用的MPMoviePlayerController的播放方法:

[myPlayer setContentURL:xyz]; 
[myPlayer play]; 

享受.. !!当我在第二次。它设置视频播放器

0
NSString *path = [[NSBundle mainBundle] pathForResource:@"myVideo" ofType:@"mp4"]; 
self.myPlayer = [[MPMoviePlayerController alloc] init]; 
self.myPlayer.view.frame = CGRectMake(0, 124, 768, 900); 
self.myPlayer.shouldAutoplay = YES; 
self.myPlayer.controlStyle = MPMovieControlStyleNone; 
self.myPlayer.repeatMode = MPMovieRepeatModeOne; 
self.myPlayer.fullscreen = YES; 
self.myPlayer.movieSourceType = MPMovieSourceTypeFile; 
self.myPlayer.scalingMode = MPMovieScalingModeAspectFit; 
[self.view addSubview:myPlayer.view]; 

[myPlayer setContentURL:[NSURL fileURLWithPath:path]]; 
[myPlayer play]; 
相关问题