Измените URL видео для экземпляра MPMoviePlayerController вместо выделения нового - PullRequest
4 голосов
/ 25 мая 2011

У меня есть MPMoviePlayerController с именем myMoviePlayer; Я выделяю и инициализирую его при загрузке моего приложения:

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;
}

В моем приложении есть два представления с именами imageView и videoView. Мне нужно скрыть myMoviePlayer в imageView и отобразить его снова, когда мой вид пользовательского интерфейса равен videoView.

Каждый раз, когда я показываю фильм, movieName будет отличаться.

Прямо сейчас я выделяю и инициализирую myVideoPlayer каждый раз, когда мой вид меняется на вид фильма. Можно ли установить новый URL-адрес видео на myMoviePlayer, не выделяя его снова?

Ответы [ 3 ]

13 голосов
/ 25 мая 2011

Да, есть:

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

Просто установите свойство contentURL экземпляра MPMoviePlayerController .

7 голосов
/ 30 мая 2011

Sharmain у меня возникла проблема ... вам нужно установить contentURL и затем вызвать метод Play из mpmovieplayercontroller:

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

наслаждайтесь .. !!

0 голосов
/ 15 мая 2012
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];
...