A simple iOS video player library written in Swift
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.
Need a different version of Swift?
5.0
- Target your Podfile to the latest release or master4.2
- Target your Podfile to theswift4.2
branch4.0
- Target your Podfile to theswift4.0
branch
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
pod "Player", "~> 0.13.2"
# Carthage
github "piemonte/Player" ~> 0.13.2
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.addChild(self.player)
self.view.addSubview(self.player.view)
self.player.didMove(toParent: 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
self.player.playFromBeginning()
Adjust the fill mode for the video, if needed.
self.player.fillMode = .resizeAspectFit
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.