AVFoundation和视频

时间:2015-09-26 19:41:41

标签: ios objective-c avfoundation avplayer

我正在尝试使用AVFoundation,AVPlayer和AVPlayerViewController来显示视频。有没有人知道那些不使用MPMoviePlayer的好教程?

请让我知道!

谢谢你!

1 个答案:

答案 0 :(得分:1)

AVPlayerViewController

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

  1. 在代码中初始化它并设置它的框架;
  2. 对它进行子类化并在您想要使用时调用它;
  3. 使用Storyboards / nibs分配 AVKit播放器视图控制器
  4. 无论哪种方式取决于你,这是iOS开发人员的常见模式,因此除非你是一个完全的初学者,否则它不应该让你感到惊讶。请注意,对于以上任何一种创建AVPlayerViewController的方式,您必须使用AVPlayer或带有您要显示的视频的网址初始化AVPlayerItem对象。

    Subclassing AVPlayerViewController-Swift

    Obs。这是一个快速的例子,但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编程指南

    我希望这会对你有所帮助。快乐的编码。 :微笑: