Я пытаюсь заставить плеер перебирать массив строк, которые ссылаются на URL видео.Я могу заставить его воспроизводить только одно из видео в массиве, если я жестко закодировал его в коде, но я не могу сделать это для итерации.
Я получил возможность воспроизводить одно видео, когда оно жестко запрограммировано, но не повторяется.
var playerArray = [AVQueuePlayer]()
var player = AVQueuePlayer()
// var URLSArray = [URL]()
var ItemArray = [AVPlayerItem]()
var videos = ["video1", "video2","video3"]
var playerController = AVPlayerViewController()
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let videoNum = (self.videos.count-1)
// var URLSArray = [URL]()
// for n in 0...videoNum{
// let pathString = (Bundle.main.path(forResource: videos[n], ofType: "mov"))
// let StrToURL = NSURL(string: pathString!)
// URLSArray.append(StrToURL! as URL)
// }
var ItemArray = [AVPlayerItem]()
// var playerController = AVPlayerViewController()
for n in 0...videoNum{
let pathString = (Bundle.main.path(forResource: videos[n], ofType: "mov"))
//print(pathString!)
let StrToURL = URL(string: pathString!)
// print(StrToURL!)
// ItemArray = [AVPlayerItem(url: StrToURL!)]
ItemArray.append(AVPlayerItem(url:StrToURL!))
print(n)
print(ItemArray)
// let player = AVPlayer(playerItem: ItemArray[0])
player = AVQueuePlayer(items: [ItemArray[n]])
player.play()
}
// playerController.player = player
// present(playerController, animated: true) {
// player.play()
}
Я хочу, чтобы оно закончило воспроизведение одного видео и перешло к следующему видео в массиве.Как бы я ни жестко кодировал видео из массива, оно работает, но если я пытаюсь повторить, оно действует так, как будто URL не работает.Это то, что он говорит