AV基础和视频

AVFoundation and video

我正在尝试使用 AVFoundation、AVPlayer 和 AVPlayerViewController 来显示视频。有谁知道不使用 MPMoviePlayer 的好教程吗?

请告诉我!

谢谢!

AVPlayerViewController

AVPlayerViewControllerAVKit ViewController 隐藏了直接处理所涉及的大部分复杂性使用 AVFoundation。它非常简单直观,如果你检查 AVPlayerViewController Class Reference 你会注意到它没有那么多属性,如果你想初始化一个并将视频归因于它,你有三个选项(我记得) .

  1. 在代码中初始化它并设置它的框架;
  2. 将其子类化并在需要时调用它;
  3. 使用 Storyboards / nibs 分配一个 AVKit Player View Controller.

这取决于您,这是 iOS 开发人员的常见模式,因此除非您是初学者,否则您不会感到惊讶。请注意,对于这些创建 AVPlayerViewController, you have to initialise the AVPlayer object with an AVPlayerItem 或 URL 的任何方法,您都希望显示视频。

子类化 AVPlayerViewController-Swift

Obs. 这是 swift 的例子,但是 Objective-C 的例子是一样的,唯一的变化是每种语言的语法。

class AVKitPlayerViewController: AVPlayerViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // get the video URL
        let videoURL = NSBundle.mainBundle().URLForResource("Test", withExtension: ".mov")

        // Initialise with URL
        player = AVPlayer(URL: videoURL!)

        // Initialise with AVPlayerItem
        let playerItem = AVPlayerItem(URL: videoURL!)
        player = AVPlayer(playerItem: playerItem)

        // If you want custom controls showsPlaybackControls should be false
        // Then you must create your own buttons
        //showsPlaybackControls = false 
    }
}

AVFoundation

AVFoundation 是一个非常庞大且有趣的框架,您可以用它做很多高级而有趣的事情。我鼓励您阅读文档并查看这些 WWDC-2015 示例代码:

AVFoundation 编程指南

希望对您有所帮助。快乐编码。 :微笑: