В моем приложении я играю 2 видео из массива одно за другим. Я хочу нажать другую ссылку в момент начала воспроизведения первого видео, не влияя на воспроизведение видео.
Вот мой код, который я пытался воспроизвести два видео один за другим,
-(IBAction)playMovie:(id)sender{
i=0;
array=[[NSArray alloc] initWithObjects:@"https://s3.amazonaws.com/adplayer/colgate.mp4",@"https://s3.amazonaws.com/ventuno-platform-flv-sep2010/happy_family.mp4",nil];
[self initializPlayer]; }
Вышеуказанное действие вызывается, когда пользователь нажимает кнопку, чтобы начать воспроизведение видео.
-(void)initializPlayer{
if(i<[array count])
i +=1;
else {
i = 1;
}
NSLog(@"i value:%@",[array objectAtIndex:i-1]);
NSURL *url1=[NSURL URLWithString:[array objectAtIndex:i-1]];
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:url1];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayerPlaybackStateDidChange:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:moviePlayerController];
[self.view addSubview:moviePlayerController.view];
moviePlayerController.fullscreen=YES;
[moviePlayerController play];}
В методе initializPlayer два видео воспроизводятся одно за другим, а также есть два уведомления, первое используется для уведомления о завершении видео или когда пользователь нажимает кнопку «Готово». Другое используется для уведомления,
1.videoplay
2.videopause
3. видео прервано
4.videoforward
5.videobackward
-(void)moviePlaybackComplete:(NSNotification *)notification{
NSLog(@"moviePlaybackComplete");
MPMoviePlayerController *moviePlayerController=[notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayerController];
[moviePlayerController.view removeFromSuperview];
[moviePlayerController release];
[self initializPlayer];}
moviePlaybackComplete уведомление используется для уведомления пользователя, когда видео завершено.
-(void) moviePlayerPlaybackStateDidChange:(NSNotification*)notification {
NSLog(@"moviePlayerPlaybackStateDidChange");
MPMoviePlayerController *moviePlayer = notification.object;
MPMoviePlaybackState playbackState = moviePlayer.playbackState;
if(playbackState == MPMoviePlaybackStateStopped)
{
//NSLog(@"MPMoviePlaybackStateStopped");
}
if(playbackState == MPMoviePlaybackStatePlaying)
{
//NSLog(@"MPMoviePlaybackStatePlaying");
}
if(playbackState == MPMoviePlaybackStatePaused)
{
//NSLog(@"MPMoviePlaybackStatePaused");
}
if(playbackState == MPMoviePlaybackStateInterrupted)
{
NSLog(@"MPMoviePlaybackStateInterrupted");
}
if(playbackState == MPMoviePlaybackStateSeekingForward)
{
NSLog(@"MPMoviePlaybackStateSeekingForward");
}
if(playbackState == MPMoviePlaybackStateSeekingBackward)
{
NSLog(@"MPMoviePlaybackStateSeekingBackward********");
}}
moviePlayerPlaybackStateDidChange уведомление используется для уведомления пользователя, если какие-либо изменения были внесены в воспроизведение состояния.
МОЙ СОМНЕНИЕ:
Во время первого воспроизведения видео (начала) я хочу нажать на другой URL, не затрагивая видео. Нажмите еще один URL в конце первого видео.
Пожалуйста, помогите мне сделать это.
Спасибо