我为我的项目创建了一个页面,其中包含一个循环播放的视频(2.1 Mb / 480p).视频在我的模拟器上播放,但不是在我将应用程序侧载到iPhone设备上时.我已经检查了多个相同问题的帖子,但到目前为止,没有一个解决方案对我有用.可能导致此问题的原因是什么?我该如何解决?
我的视频存储在本地.以下是播放我视频的相关源代码:
override func viewDidAppear(animated: Bool) { let fileUrl = NSURL(fileURLWithPath: "/Users/User/Desktop/Project_XYZ/Pultz/11005472.mp4") playerView = AVPlayer(URL: fileUrl) let playerLayer = AVPlayerLayer(player: playerView) playerLayer.frame = videoContainer.frame playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill //playerViewController.player = playerView self.view.layer.addSublayer(playerLayer) playerView.play() NSNotificationCenter.defaultCenter().addObserver(self,selector: #selector(WorkoutDashboardViewController.restart),name: AVPlayerItemDidPlayToEndTimeNotification,object: self.playerView.currentItem) }
附:我正在使用的视频是一个免费的水印视频我下了网.这可能是一个可能的原因吗?
解决方法
试着改变这个:
let fileUrl = NSURL(fileURLWithPath: "/Users/User/Desktop/Project_XYZ/Pultz/11005472.mp4")
有:
let fileUrl = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("11005472",ofType: "mp4"))
在iPhone中,您有不同的文件系统.您不能使用在计算机/模拟器上使用的相同路径.