Git Product home page Git Product logo

youtubevideoplayer's Introduction

Pod Version Pod Platform Pod License Build Status

YouTubeVideoPlayer

Library for embedding and controlling YouTube videos in your iOS applications!

Requirements

  • iOS 8.0 or later
  • Xcode 10.0 or later

Installation

There is a way to use YouTubeVideoPlayer in your project:

  • Using CocoaPods
  • Manually

Installation with CocoaPods

pod 'YouTubeVideoPlayer', '1.1'

Manually

Manually drag file YouTubeVideoPlayer.swift to your project.

Build Project

At this point your workspace should build without error. If you are having problem, post to the Issue and the community can help you solve it.

How To Use

import YouTubeVideoPlayer

let player: YouTubeVideoPlayer = .shared
player.isHidden = true
UIApplication.shared.keyWindow?.addSubview(player)
player.play(videoId: <#YouTube Video Id#>, sourceView: <#Source View#>)

Handle events:

Delegate

YouTubeVideoPlayerDelegate

player.delegate = self
  • func youTubeVideoPlayer(_ player: YouTubeVideoPlayer, didStop videoId: String) {}
  • func youTubeVideoPlayer(_ player: YouTubeVideoPlayer, willPresent videoId: String) {}
  • func youTubeVideoPlayer(_ player: YouTubeVideoPlayer, didPresent videoId: String) {}
Notifications:
  • YouTubeVideoPlayer.playerDidStop
  • YouTubeVideoPlayer.playerWillPresent
  • YouTubeVideoPlayer.playerDidPresent

Examples:

  • Setup event:
self.notificationCenter.addObserver(self, selector: #selector(playerWillPresent), name: YouTubeVideoPlayer.playerWillPresent, object: nil)
  • Handle event:
@objc func playerWillPresent(_ notification: Notification) {
	guard let videoId = notification.userInfo?[YouTubeVideoPlayer.videoIdKey] as? String else { return }
}
  • Get current YouTube video id:
player.videoId
  • Make player is auto play, default is true
player.isAutoPlay = true
  • Set looping, default is true:
player.isLooped = true
  • Pause when idle, when user moves player to the edge, default is false
player.pauseWhenIdle = false
  • Set player's maximum width, default is 500
player.maxWidth = 500

Author

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Licenses

All source code is licensed under the MIT License.

youtubevideoplayer's People

Contributors

levantaj avatar

Stargazers

MohsinAli avatar  avatar Peiper avatar Mehdi Negahban avatar

Watchers

James Cloos avatar MohsinAli avatar

Forkers

mohsinalimat

youtubevideoplayer's Issues

Pagination

Hey levant I want to know if the player have a feature for pagination?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.