gpt4 book ai didi

ios - 尝试在 youtube-ios-player-helper 上设置播放速度,但没有任何反应

转载 作者:行者123 更新时间:2023-12-03 06:12:52 36 4
gpt4 key购买 nike

我正在构建一个使用 youtube-ios-player-helper 库播放 YouTube 视频的 iOS 应用程序。我正在尝试设置播放速度,但没有任何 react :

class PlayerViewController: UIViewController {

private let player = YTPlayerView()

override func viewDidLoad() {
super.viewDidLoad()

player.delegate = self
view.addSubview(player)
setupPlayerConstraints()

player.load(withVideoId: "123456")
// Tried here, but nothing change:
print("Available playback rates: \(String(describing: player.availablePlaybackRates()))")
player.setPlaybackRate(2.0)
}

}

extension PlayerViewController: YTPlayerViewDelegate {

func playerViewDidBecomeReady(_ playerView: YTPlayerView) {
player.playVideo()
}

func playerView(_ playerView: YTPlayerView, didChangeTo state: YTPlayerState) {
switch (state) {
case.playing:
// Tried here, but again, nothing change:
print("Available playback rates: \(String(describing: player.availablePlaybackRates()))")
player.setPlaybackRate(2.0)
default:
break;
}
}

}

如上面的代码所示,我尝试在加载视频后以及播放器将其状态更改为 playing 时设置播放速度。在任何时候,速度都没有改变。

此外, player.availablePlaybackRates 在两种情况下都返回 nil(这很奇怪,因为当我使用 YouTube 应用观看相同的视频时,我可以更改播放速度)。

我知道设置播放速度 is a suggestion to the player ,但在官方 YouTube 应用程序上,更改速度适用于我试图在我的应用程序上观看的同一视频。

有什么我在这里想念的吗?

最佳答案

我有同样的问题。但是我像这样解决了它并且效果很好。在迅速 4

  • private -> public
    private func stringFromEvaluingJavaScript(jsToExecute: String) -> String{
    Guard let result = self.webView.stringByEvaluingJavaScript (from jsToExecute) else{
    return ""
    }
    return result
    }
  • 直接执行
    playerView.stringFromEvaluingJavaScript(jsToExecute): "player.setPlaybackRate(1.5);")
  • 关于ios - 尝试在 youtube-ios-player-helper 上设置播放速度,但没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48748710/

    36 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com