46

GitHub - josejuanqm/VersaPlayer: Versatile Video Player implementation for iOS

 5 years ago
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

CI Status Version License Platform

Image.png

⚠️ 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.

iPad PIP mode iPhone normal mode

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.

simple_example.png

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 buffering

controls_example.png

Advanced 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:

https://josejuanqm.github.io/Libraries-Documentation/VersaPlayerCore/Protocols/VersaPlayerDecryptionDelegate.html

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.

  1. AirPlay Extension

  2. Ads Extension

  3. Overlay Content Extension

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!

paypal

License

VersaPlayer is available under the MIT license. See the LICENSE file for more info.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK