AV基础和视频
AVFoundation and video
我正在尝试使用 AVFoundation、AVPlayer 和 AVPlayerViewController 来显示视频。有谁知道不使用 MPMoviePlayer 的好教程吗?
请告诉我!
谢谢!
AVPlayerViewController
AVPlayerViewController 是 AVKit ViewController 隐藏了直接处理所涉及的大部分复杂性使用 AVFoundation。它非常简单直观,如果你检查 AVPlayerViewController Class Reference 你会注意到它没有那么多属性,如果你想初始化一个并将视频归因于它,你有三个选项(我记得) .
- 在代码中初始化它并设置它的框架;
- 将其子类化并在需要时调用它;
- 使用 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 示例代码:
- AVFoundationPiPPlayer: Picture-in-Picture Playback with AVKit
- AVFoundationQueuePlayer-iOS: Using a Mixture of Local File Based Assets and HTTP Live Streaming Assets with AVFoundation
- AVFoundationSimplePlayer-iOS: Using AVFoundation to Play Media
AVFoundation 编程指南
希望对您有所帮助。快乐编码。 :微笑:
我正在尝试使用 AVFoundation、AVPlayer 和 AVPlayerViewController 来显示视频。有谁知道不使用 MPMoviePlayer 的好教程吗?
请告诉我!
谢谢!
AVPlayerViewController
AVPlayerViewController 是 AVKit ViewController 隐藏了直接处理所涉及的大部分复杂性使用 AVFoundation。它非常简单直观,如果你检查 AVPlayerViewController Class Reference 你会注意到它没有那么多属性,如果你想初始化一个并将视频归因于它,你有三个选项(我记得) .
- 在代码中初始化它并设置它的框架;
- 将其子类化并在需要时调用它;
- 使用 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 示例代码:
- AVFoundationPiPPlayer: Picture-in-Picture Playback with AVKit
- AVFoundationQueuePlayer-iOS: Using a Mixture of Local File Based Assets and HTTP Live Streaming Assets with AVFoundation
- AVFoundationSimplePlayer-iOS: Using AVFoundation to Play Media
AVFoundation 编程指南
希望对您有所帮助。快乐编码。 :微笑: