【问题标题】:iPhone simulator plays video, real device won'tiPhone模拟器播放视频,真机不会
【发布时间】:2015-12-14 11:04:46
【问题描述】:

我正在 Xcode 7.2 上使用 Swift 构建应用程序

我在 ViewController 中添加了一个视频。代码如下:

import UIKit
import AVKit
import AVFoundation

class GymViewController: UIViewController {





var playerViewController = AVPlayerViewController()
var playerView = AVPlayer()

let fileFemaleURL = NSURL(fileURLWithPath:"/Users/marienkoen/Documents/AppDevelopment/ROZsport/ROZsport/GymFemale-2434.m4v")


override func viewDidLoad() {
super.viewDidLoad()
}



@IBAction func playButtonPressed(sender: AnyObject) {


playerView = AVPlayer(URL: fileFemaleURL)

playerViewController.player = playerView

self.presentViewController(playerViewController, animated: true){
self.playerViewController.player?.play()
}

我可以在模拟器中运行应用程序时播放此视频,但它无法在真实设备上运行。我在这里错过了什么?

【问题讨论】:

    标签: ios swift video avkit


    【解决方案1】:

    我可能读错了,但您似乎正在使用位于您计算机上的文件?

    【讨论】:

      【解决方案2】:

      感谢所有提示。我创建了这些:

      let path = NSBundle.mainBundle().pathForResource("video", ofType:"m4v")
      

      并在按钮操作中调用它们:

      @IBAction func playButtonPressed(sender: AnyObject) {
      
      playerView = AVPlayer(URL: NSURL(fileURLWithPath: path!))
      playerViewController.player = playerView
      
      self.presentViewController(playerViewController, animated: true){
      self.playerViewController.player?.play()}}
      

      而且它有效!!

      谢谢!

      【讨论】:

        【解决方案3】:

        因为您使用的路径来自模拟器,所以在真实设备上它已更改。 如果您将此文件添加到您的项目中,您可以通过以下方式获取此网址:

        func getDocumentsURL() -> NSURL {
            let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
            return documentsURL
        }
        
        func fileInDocumentsDirectory(filename: String) -> String {
        
            let fileURL = getDocumentsURL().URLByAppendingPathComponent(filename)
            return fileURL.path!
        
        }
        

        【讨论】:

          【解决方案4】:

          也许问题是文件名在 iPhone 上区分大小写,但在模拟器中不区分大小写?

          【讨论】:

          • 它的路径...看起来他正在使用他电脑上的文件哈哈
          • 是的,他是。他是个新手!
          猜你喜欢
          • 1970-01-01
          • 2015-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多