【问题标题】:YouTube IFrame Player shows 'This Video is Unavailable' when play button is pressed按下播放按钮时,YouTube IFrame 播放器显示“此视频不可用”
【发布时间】:2019-02-03 08:01:03
【问题描述】:

我将 YouTube iframe 播放器嵌入到我的 ios 应用程序中。几天前在测试该应用程序时,一切正常并且加载正常,我注意到它不再播放某些视频,我不确定是什么原因造成的。我用多个视频对此进行了测试,这些视频仍然可以在 YouTube 应用程序上运行,但何时不再在我的应用程序中播放。将显示视频的缩略图,并且只要我按下播放,它就会在播放器窗口中显示“此视频不可用”。有些视频仍然可以正常播放,这让我知道视频的 videoID 和加载工作正常。

这是我用来加载视频的代码:

    let playerVars: [AnyHashable: Any] = ["playsinline" : 1]
    self.playerView.load(withVideoId: videoID, playerVars: playerVars)

以下是 YouTube Iframe 播放器在按下播放之前和之后显示的两张图片。 Video Preview

Video Unavailable

我看到有些人遇到了类似的问题,我尝试按照他们的示例来解决问题,但到目前为止对我没有任何帮助。谁能帮我解决这个问题?

修复

通过将上面的第一行代码更改为此,我终于找到了解决此问题的方法。

let playerVars: [AnyHashable: Any] = ["playsinline" : 1,
                                      "origin": "https://www.youtube.com"]

【问题讨论】:

    标签: ios swift youtube youtube-iframe-api


    【解决方案1】:

    在做了更多研究后,我找到了解决方法。

    我只是从这里更改了上面的代码:

    let playerVars: [AnyHashable: Any] = ["playsinline" : 1]
    self.playerView.load(withVideoId: videoID, playerVars: playerVars)
    

    对此:

    let playerVars: [AnyHashable: Any] = ["playsinline" : 1,
                                          "origin": "https://www.youtube.com"]
    self.playerView.load(withVideoId: videoID, playerVars: playerVars)
    

    【讨论】:

    • origin 属性为我做了这件事。感谢分享
    • 这是什么魔法?它似乎确实有效,但有人知道为什么吗?
    【解决方案2】:

    这似乎是 YouTube 限制某些视频可以播放的结果。您说其他视频仍然可以播放,但不是这个,它是音乐视频,通常受 YouTube 限制。

    【讨论】:

    • 我的意思是一些视频(数量有限)仍然有效,但大多数无效。我遇到的问题是,我在几周前的播放列表中有这些视频,并且对它们进行了测试,它们似乎都可以正常播放。我想知道是否有任何解决方法?
    • 好的,但是如何从搜索结果中过滤掉这些视频?
    猜你喜欢
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 2019-04-06
    • 2015-11-17
    • 2017-07-19
    • 2014-12-01
    相关资源
    最近更新 更多