Player
Player
is a simple iOS video player library written in Swift.
- Looking for an obj-c video player? Check out PBJVideoPlayer (obj-c).
- Looking for a Swift camera library? Check out Next Level.
Features
- [x] plays local media or streams remote media over HTTP
- [x] customizable UI and user interaction
- [x] no size restrictions
- [x] orientation change support
- [x] simple API
- [x] video frame snapshot support
Quick Start
Player
is available for installation using the Cocoa dependency manager CocoaPods. Alternatively, you can simply copy the Player.swift
file into your Xcode project.
# CocoaPods
swift_version = "4.0"
pod "Player", "~> 0.9.0"
# Carthage
github "piemonte/Player" ~> 0.9.0
Need Swift 3? Use release 0.7.0
Usage
The sample project provides an example of how to integrate Player
, otherwise you can follow these steps.
Allocate and add the Player
controller to your view hierarchy.
self.player = Player()
self.player.playerDelegate = self
self.player.playbackDelegate = self
self.player.view.frame = self.view.bounds
self.addChildViewController(self.player)
self.view.addSubview(self.player.view)
self.player.didMove(toParentViewController: self)
Provide the file path to the resource you would like to play locally or stream. Ensure you’re including the file extension.
let videoUrl: URL = // file or http url
self.player.url = videoUrl
play/pause/chill
self.player.playFromBeginning()
Adjust the fill mode for the video, if needed.
self.player.fillMode = PlayerFillMode.resizeAspectFit.avFoundationType
Display video playback progress, if needed.
extension ViewController: PlayerPlaybackDelegate {
public func playerPlaybackWillStartFromBeginning(_ player: Player) {
}
public func playerPlaybackDidEnd(_ player: Player) {
}
public func playerCurrentTimeDidChange(_ player: Player) {
let fraction = Double(player.currentTime) / Double(player.maximumDuration)
self._playbackViewController?.setProgress(progress: CGFloat(fraction), animated: true)
}
public func playerPlaybackWillLoop(_ player: Player) {
self. _playbackViewController?.reset()
}
}
Documentation
You can find the docs here. Documentation is generated with jazzy and hosted on GitHub-Pages.
Community
- Need help? Use Stack Overflow with the tag ‘player-swift’.
- Questions? Use Stack Overflow with the tag ‘player-swift’.
- Found a bug? Open an issue.
- Feature idea? Open an issue.
- Want to contribute? Submit a pull request.
Resources
- Swift Evolution
- AV Foundation Programming Guide
- Next Level, rad media capture in Swift
- PBJVision, iOS camera engine, features touch-to-record video, slow motion video, and photo capture
- PBJVideoPlayer, a simple iOS video player library, written in obj-c
License
Player is available under the MIT license, see the LICENSE file for more information.