YoutubePlayerView 1.2.1

YoutubePlayerView 1.2.1

Mukesh Yadav 维护。



  • Mukesh Yadav

YoutubePlayerView

CI Status Version License Platform

YoutubePlayerView 是一个开源库,帮助您将 YouTube iframe 播放器嵌套到 iOS 应用程序中。该库创建一个 WKWebView 和桥梁,在您的应用程序的 Swift 代码和 YouTube 播放器的 JavaScript 代码之间,从而允许 iOS 应用程序控制 YouTube 播放器。

示例

为了运行示例项目,首先克隆仓库,然后从示例目录运行 pod install

需求

安装

通过 CocoaPods 安装库

可以通过CocoaPods获取YoutubePlayerView。要安装它,只需将以下行添加到您的Podfile中:

pod 'YoutubePlayerView'

在命令行提示符下,输入pod install以更新您的工作空间,并添加依赖项。

提示:请记住,在CocoaPods中使用时,您必须在Xcode中打开.xcworkspace文件,而不是.xcodeproj文件。

手动安装库

该库也可以轻松手动安装。您可以点击GitHub下载链接下载源代码或克隆存储库。一旦您有了代码的本地副本,请按照以下步骤操作:

  1. 在Xcode或Finder中打开示例项目。

  2. 选择YoutubePlayerView.swiftYoutubePlayerExtras.swift。如果您在Xcode中打开工作空间,它们将位于Pods -> Development Pods -> YoutubePlayerView下。在Finder中,它们位于项目根目录下的Classes目录中。

  3. 将这些文件和文件夹拖到您的项目中。请确保选中了Copy items into destination group’s folder选项。

使用方法

开始加载视频

要开始播放YouTube视频,请按照以下步骤操作:

  1. 在界面构建器中,将一个UIView拖动到场景中。
  2. 选择Identity Inspector,将视图的类更改为YoutubePlayerView
  3. 在界面构建器中为该视图创建一个指向您视图控制器的IBOutlet,并命名为playerView
  4. 现在在您的视图控制器的viewDidLoad方法中添加以下代码
playerView.loadWithVideoId("GC5V67k0TAA")

编译并运行,视频加载后点击它以播放视频。

控制视频播放

您还可以使用loadWithVideoId(_ : with:)方法将额外参数传递给视图。有关参数的更多信息,请访问播放器参数

要使用额外的参数进行试验,你可以用这段代码替换你的代码:

let playerVars: [String: Any] = [
    "controls": 1,
    "modestbranding": 1,
    "playsinline": 1,
    "rel": 0,
    "showinfo": 0,
    "autoplay": 1
]
playerView.loadWithVideoId("GC5V67k0TAA", with: playerVars)

还可以使用方法来控制播放过程。

func play()
func pause()
func stop()
func seek(to: allowSeekAhead:)

处理播放器回调

库提供了一个协议 YoutubePlayerViewDelegate 来处理回调。你的类可以遵守这个协议并将 playerViewdelegate 设置为这个类。

extension ViewController: YoutubePlayerViewDelegate {
    func playerViewDidBecomeReady(_ playerView: YoutubePlayerView) {
        print("Ready")
        playerView.play()
    }

    func playerView(_ playerView: YoutubePlayerView, didChangedToState state: YoutubePlayerState) {
        print("Changed to state: \(state)")
    }

    func playerView(_ playerView: YoutubePlayerView, didChangeToQuality quality: YoutubePlaybackQuality) {
        print("Changed to quality: \(quality)")
    }

    func playerView(_ playerView: YoutubePlayerView, receivedError error: Error) {
        print("Error: \(error)")
    }

    func playerView(_ playerView: YoutubePlayerView, didPlayTime time: Float) {
        print("Play time: \(time)")
    }
}

现在设置播放视图的代理

playerView.delegate = self

作者

Mukesh Yadav, [email protected]

许可证

YoutubePlayerView 可在 MIT 许可下使用。更多信息请参阅 LICENSE 文件。