首页 > 解决方案 > 在 Swift 中播放一系列视频,而无需同时播放视频

问题描述

我正在全屏播放一系列视频网址。我在视图控制器中左右滑动。问题是一旦我开始播放视频并向左或向右滑动,当前视频不会停止播放并且下一个视频开始播放。旧视频与新视频音频一起播放。

下面是我最初的视频播放代码。

avPlayer = AVQueuePlayer.init()
let item = AVPlayerItem(url: url!)
avPlayer!.replaceCurrentItem(with: item)
avPlayerLayer = AVPlayerLayer(player: avPlayer)
avPlayerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
avPlayer?.actionAtItemEnd = AVPlayerActionAtItemEnd.none

avPlayerLayer.frame = videoView.layer.bounds
view.backgroundColor = UIColor.clear;
view.layer.insertSublayer(avPlayerLayer, at: 0)

avPlayer?.play()

在左/右滑动。

if avPlayer != nil
{
    if (avPlayer?.rate != 0 && avPlayer?.error == nil)
    {
         avPlayer!.pause()
         avPlayer!.advanceToNextItem()
         avPlayerLayer.removeFromSuperlayer()
    }
 }

在此之后再次执行第一个代码部分。

标签: iosswiftavplayer

解决方案


推荐阅读