【问题标题】:Playing video using swift 2 IOS 9使用swift 2 IOS 9播放视频
【发布时间】:2015-10-19 16:53:02
【问题描述】:

我正在寻找使用 AVKIT 从我的应用程序播放视频的示例或源代码。我找不到使用新版本 Swift 2 (IOS 9) 的示例。由于 MPmovieplayercontroller 在 IOS 9 中已弃用。任何帮助将不胜感激。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请阅读指南How do I ask a good question,尤其是关于最小、完整和可验证示例 (MCVE) 的部分。这将帮助您自己解决问题。如果您这样做但仍然卡住,您可以回来发布您的 MCVE、您尝试了什么以及结果如何,以便我们更好地帮助您。

标签: video swift2 ios9


【解决方案1】:

您可以使用 iOS 8.0 及更高版本中提供的AVPlayerViewController 类:

import UIKit
import AVKit
import AVFoundation

class ViewController: UIViewController {

    override func viewDidAppear(animated: Bool) {
         super.viewDidAppear(animated)

        let moviePath = NSBundle.mainBundle().pathForResource("sample_iPod", ofType: "m4v")
        if let path = moviePath {
            let url = NSURL.fileURLWithPath(path)
            let player = AVPlayer(URL: url)
            let playerViewController = AVPlayerViewController()
            playerViewController.player = player
            self.presentViewController(playerViewController, animated: true) {
                if let validPlayer = playerViewController.player {
                    validPlayer.play()
                }
            }
        }

    }
}

已编辑:

这就是您无需额外屏幕和自定义尺寸即可播放电影的方式:

    let url = NSURL.fileURLWithPath(path)
    let player = AVPlayer(URL: url)
    let playerViewController = AVPlayerViewController()
    playerViewController.player = player

    playerViewController.view.frame = CGRectMake(20, 50, 300, 300)
    self.view.addSubview(playerViewController.view)
    self.addChildViewController(playerViewController)

    player.play()

【讨论】:

  • 感谢它的工作。如何自定义视频以在具有特定大小的现有屏幕上播放,而不是打开新的 Avplayer 屏幕。视频也放置在资产文件夹中并在捆绑包中进行了引用,但无法找到视频,我必须手动添加对捆绑包中视频的引用,而不仅仅是引用资产文件夹。
  • 通过更新playerViewController 屏幕外观和电影帧大小编辑了我的答案。并且需要澄清您如何添加电影以回答您评论的第二部分
猜你喜欢
  • 1970-01-01
  • 2015-05-20
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-08
相关资源
最近更新 更多