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