swift - 迭代视频
问题描述
我试图让播放器遍历引用视频 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 不工作一样。这就是它所说的 2019-06-14 13:08:44.718684-0400 视频 [5439:1288491] NSURLConnection 完成错误 - 代码 -1002
解决方案
仅声明播放器
var player = AVQueuePlayer()
将字符串数组映射到viewDidAppear
应用程序包中的 URL,然后将 URL 映射到播放器项目。然后创建排队播放器并开始播放。
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let videos = ["video1", "video2", "video3"]
let videoURLs = videos.compactMap{ Bundle.main.url(forResource: $0, withExtension: "mov")}
let itemArray = videoURLs.map{ AVPlayerItem(url: $0) }
player = AVQueuePlayer(items: itemArray)
player.play()
// playerController.player = player
// present(playerController, animated: true) {
// player.play()
// }
}
推荐阅读
- angular - 禁用切换按钮取决于角度中的所有数字类型输入
- arrays - 识别 Pandas DataFrame 列的类型 numpy DataFrame 值数组
- html - 第一个slider-carousel中不显示图片的原因及解决方法
- ruby - 在 ruby 中分配方法块的返回值
- sql-server - 在where条件中结合日期和小时在SQL中创建条件选择?
- java - 当用户触摸孩子时执行视图触摸事件
- c++ - ++i、i = i + 1 和 i += 1 在 C/C++ 中是否等效?
- python - 返回多边形 geopandas 中的点列表
- swift - 当 ObservableObject 的所有属性更新时通知 SwiftUI
- r - 关于在 R 中创建时间段/间隔的问题?