我正在编写一个应用程序,以便在Swift 3中为iPhone保存和播放视频。首次从Xcode安装时,应用程序可以正常工作,加载,播放和保存视频。然后,应用程序关闭并重新打开后,它将继续工作。当应用程序再次从Xcode运行时,视频不再播放。为什么会发生这种情况?如何解决?
这是我的保存和加载功能
func saveVideos(){
NSKeyedArchiver.archiveRootObject(videoArray, toFile: filePath)
}
func loadVideos(){
if let array = NSKeyedUnarchiver.unarchiveObject(withFile: filePath) as? [Video]{
videoArray = array
self.collectionView.reloadData()
}
}
这是在AVPlayer中打开网址并播放它的代码
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let video = videoArray[indexPath.row]
let videoUrl = video.url
let player = AVPlayer(url: videoUrl)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.present(playerViewController, animated: true) {
playerViewController.player!.play()
}
}
每个网址都包含在一个名为Video的自定义类中,该类存储在一个视频数组中。视频数组存储在filePath
的users目录中编辑: 这是文件的代码
var filePath : String {
let manager = FileManager.default
let url = manager.urls(for: .documentDirectory, in: .userDomainMask).first
return (url?.appendingPathComponent("videosFile").path)!
}