
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.
View on GitHub
Player Reference