2013-03-12 95 views
0

我曾经使用这个视频播放没有混蛋。但如何播放secondVideoItem在循环..这是视频播放后,我想添加此视频到10-15时间。 只有secondVideoItem不是firstVideoItem在循环播放视频+ AVQueuePlayer

NSString *secondVideoPath = [[NSBundle mainBundle] pathForResource:@"video1" ofType:@"mp4"]; 
    NSString *firstVideoPath = [[NSBundle mainBundle] pathForResource:@"video2" ofType:@"mp4"]; 


    AVPlayerItem *firstVideoItem = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:firstVideoPath]]; 
    AVPlayerItem *secondVideoItem = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:secondVideoPath]]; 

    AVQueuePlayer* queuePlayer = [AVQueuePlayer queuePlayerWithItems:[NSArray arrayWithObjects:firstVideoItem, secondVideoItem,nil]]; 

    AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:queuePlayer]; 
    avPlayer.actionAtItemEnd = AVPlayerItemStatusReadyToPlay; 
    layer.frame = CGRectMake(0, 0, 1024, 768); 

    [self.view.layer addSublayer:layer]; 

    [queuePlayer play]; 

感谢adavnce

回答

2

扮演的第二个项目在这之后会打电话通知,退视频所以它会重新开始播放...

queuePlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(itemPlayEnded:) 
               name:AVPlayerItemDidPlayToEndTimeNotification 
              object:[queuePlayer currentItem]]; 

- (void)itemPlayEnded:(NSNotification *)notification 
{ 
k++; 
if(k<10-15 times) 
{ 
    AVPlayerItem *p = [notification object]; 
    [p seekToTime:kCMTimeZero]; 
} 
} 
+0

感谢您的快速回复..我播放这两个视频。我只想播放第二个视频到10-15时间。我不想再次开始播放。我只是想开始第二个视频.IS它可能。如果是的话请引导我 – 2013-03-12 10:30:30

+0

是的通过上面的代码它应该倒带或重放你的secondItem.n它应该开始再次播放..尝试,如果它做到这一点... – BhushanVU 2013-03-12 10:31:29

+0

我曾试过它..但它播放两个: - video1和video2 files.I只想播放video2在循环 – 2013-03-12 10:34:18