GitHub - josejuanqm/VersaPlayer: Versatile Video Player implementation for iOS
source link: https://github.com/josejuanqm/VersaPlayer
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
⚠️ tvOS Information
If you are looking for the tvOS player, head over to https://github.com/josejuanqm/TVersaPlayer
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Installation
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
VersaPlayer is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'VersaPlayer'
Usage
Basic Usage
VersaPlayer aims to be simple to use but also flexible, to start using VersaPlayer first create a view programatically or via storyboard. Then add this few lines of code to start playing your video.
Adding Controls
To add controls for your player use the VersaPlayerControls class, which comes packed with outlets to control your player, you can also add as many as you like by making a custom implementation.
VersaPlayerControls class include the following outlets:
Outlet Name Type Action playPauseButton VersaStatefullButton Toggle playback fullscreenButton VersaStatefullButton Toggle fullscreen mode pipButton VersaStatefullButton Toggle PIP mode in supported devices rewindButton VersaStatefullButton Rewind playback forwardButton VersaStatefullButton Fast forward playback skipForwardButton VersaStatefullButton Skip forward the time specified in second at skipSize (found in VersaPlayerControls) skipBackwardButton VersaStatefullButton Skip backward the time specified in second at skipSize (found in VersaPlayerControls) seekbarSlider VersaSeekbarSlider Seek through playback currentTimeLabel VersaTimeLabel Indicate the current time totalTimeLabel VersaTimeLabel Indicate the total time bufferingView UIView Shown when player is bufferingAdvanced Usage
DRM
VersaPlayer also brings support for encrypted content, to make use of this funcionality you must implement VersaPlayerDecryptionDelegate and assign it to VersaPlayer's decryptionDelegate property.
To read more about this topic go to:
Extensions
Versa is aimed to be versatile, and that's why it comes with an extensions feature, that lets you customize any aspect of the player by inheriting from VersaPlayerExtension.
This class comes with a player attribute that points to the player instance from which is being used. To add an extension use the add(extension ext:) method found in https://josejuanqm.github.io/Libraries-Documentation/VersaPlayerCore/Classes/VersaPlayer.html.
Here are some extensions for VersaPlayer that may be useful for you.
Documentation
Full documentation avilable https://josejuanqm.github.io/Libraries-Documentation/VersaPlayerCore/
Author
Jose Quintero - [email protected]
Donation
If you like this project or has been helpful to you, you can buy me a cup of coffe :) Appreciate it!
License
VersaPlayer is available under the MIT license. See the LICENSE file for more info.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK