Skip to content

isslayne/TVVLCPlayer

Repository files navigation

TVVLCPlayer

player panel

TVVLCPlayer lets you integrate easily a powerfull video player with playback control views to your tvOS apps. Based on TVVLCKit, it aims to replace AVPlayerViewController that can read only a limited number of formats.

Features

  • Native look & feel
  • Scrubbling with remote surface touch
  • Jump, fast forward and rewind

Installation

# Carthage
github "kodlian/TVVLCPlayer", "~> 1.1.1"
# CocoaPods
pod "TVVLCPlayer", :git => "https://github.com/kodlian/TVVLCPlayer.git", :tag => "1.1.1"

pre_install do |installer|
	# workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
	Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
end

Usage

Storyboard

In your storyboard add a reference to the VLCPlayer storyboard from the com.kodlian.TVVLCPlayer bundle if you use carthage or org.cocoapods.TVVLCPlayer bundle if you use cocoapods. Then set a player with a media on the playerViewController:

import TVVLCPlayer
...
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
      if let playerViewController = segue.destination as? VLCPlayerViewController {
            let media: VLCMedia = ...
            let player = VLCMediaPlayer()
            player.media = media
            playerViewController.player = player
      }
}

In code

import TVVLCPlayer
...
let media: VLCMedia = ...
let player = VLCMediaPlayer()
player.media = media
let playerViewController = VLCPlayerViewController.instantiate(player: player)

Todo

  • Audio channels selector
  • Subtitles selector
  • Info views
  • Translate panel view
  • Configuration for panel
  • Panel indicator on top
  • Rebuild UI using SwiftUI