【问题标题】:MPMoviePlayerController in SwiftSwift 中的 MPMoviePlayerController
【发布时间】:2014-07-23 15:30:40
【问题描述】:

我有这段代码,但它只显示一个黑框。

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.

    var filepath: NSString = NSBundle.mainBundle().pathForResource("Akbar_ipad", ofType: "mp4")
    var fileURL: NSURL = NSURL(string: filepath)
    let moviePlayerController = MPMoviePlayerController(contentURL: fileURL)

    moviePlayerController.shouldAutoplay = true
    moviePlayerController.movieSourceType = MPMovieSourceType.File


    moviePlayerController.view.frame = CGRect(x: 200, y: 200, width: 500, height: 300)



    self.view.addSubview(moviePlayerController.view)

    moviePlayerController.prepareToPlay()
    moviePlayerController.play()

    ...

您知道如何解决我的问题吗?我要疯了!

感谢您的宝贵时间。

【问题讨论】:

    标签: swift mpmovieplayercontroller ios8


    【解决方案1】:

    我也有类似的问题:How to load MPMoviePlayerController contentUrl asynchronous when loading view?

    但这里有一些想法给你:

    1. 可能 url 构造不正确/不是本地的。尝试使用:let fileURL = NSBundle.mainBundle().URLForResource("Akbar_ipad", withExtension: "mp4")

    2. 您可能需要一个全局变量来保存对电影播放器​​实例的引用(如文档中所述。

    【讨论】:

    • 我不明白为什么 NSBundle.mainBundle().pathForResource 不起作用而 NSBundle.mainBundle().URLForResource 起作用。谢谢:)
    【解决方案2】:

    对于您的问题,您可能忘记将资源添加为“捆绑资源” 按照以下步骤添加:

    1. 在项目导航器中选择您的项目根目录
    2. 选择“构建阶段”选项卡
    3. 在“捆绑资源”部分单击“+”添加您的资源

    之后我认为您可以同时使用URLForResourcepathForResource

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多