gpt4 book ai didi

swift - 获取 AVPlayer 主包中子文件夹路径的问题

转载 作者:搜寻专家 更新时间:2023-11-01 05:32:36 25 4
gpt4 key购买 nike

我正在改进我的项目代码。

我坚持按子文件夹调用视频的过程,因为它发现代码会读取所有 mp4 文件。

应用我在互联网上找到的不同代码,但我最终破解了所有代码但没有成功。在这方面,我将不胜感激。

显示包含不同视频的文件夹位置的附图,我想将我的 View 基本文件夹和中间文件夹分开 导入 UIKit 导入 AVKit 导入 AVFoundation

class BasicLevel: UIViewController, UITableViewDataSource, UITableViewDelegate, AVPlayerViewControllerDelegate{

var videoArray = [String]()

@IBOutlet weak var videoView: UIView!
@IBOutlet weak var videoTableView: UITableView!

var videoVC = AVPlayerViewController()

override func viewDidLoad() {
super.viewDidLoad()

videoTableView.delegate = self
videoTableView.dataSource = self

videoView.addSubview(videoVC.view)
videoVC.view.frame = videoView.frame
videoVC.showsPlaybackControls = false

let filemanager = FileManager.default
let path = Bundle.main.resourcePath!

let allItems = try? filemanager.contentsOfDirectory(atPath: path)

for singleItem in allItems! {
if singleItem.hasSuffix("mp4") {
videoArray.append(singleItem)
}
}

if videoArray.count > 0 {
playTopVideo(value: 0)
}
}

func playTopVideo(value: Int) {
let nameComponent = videoArray[value].components(separatedBy: ".")
let name = nameComponent[0]

let path = Bundle.main.path(forResource: name, ofType: "mp4")
let url = URL(fileURLWithPath: path!)


videoVC.player = AVPlayer(url: url)

videoVC.player?.play()
}
}

最佳答案

首先,负责创建包的目录结构,所以不要搞砸了。

其次使用URL相关API。

例如,将所有 mp4 文件放在名为 videos 的子目录中。创建真正的蓝色文件夹而不是组(黄色)文件夹至关重要。

这会将您的代码减少到

var videoArray = [URL]()

override func viewDidLoad() {
super.viewDidLoad()

videoTableView.delegate = self
videoTableView.dataSource = self

videoView.addSubview(videoVC.view)
videoVC.view.frame = videoView.frame
videoVC.showsPlaybackControls = false

videoArray = Bundle.main.urls(forResourcesWithExtension: "mp4", subdirectory: "videos")!
playTopVideo(value: 0)
}

func playTopVideo(value: Int) {
let videoURL = videoArray[value]
videoVC.player = AVPlayer(url: videoURL)
videoVC.player?.play()
}

关于swift - 获取 AVPlayer 主包中子文件夹路径的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53180268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com