【问题标题】:Disabling Related Videos in YouTube iOS Helper using Swift使用 Swift 在 YouTube iOS Helper 中禁用相关视频
【发布时间】:2015-11-25 14:30:33
【问题描述】:

我知道要禁用相关视频,我们需要在 YouTube 网址末尾添加 ?rel=0。我的问题是如何在 Swift 中做到这一点?

  1. 我想不出一种方法来编辑 HTML/JavaScript/Objective C 文件以使其正常工作。

  2. 我不确定如何使用loadWithVideoId 传递参数,因为它总是无法编译。

有什么办法吗?

PS:我正在开发一个播放 YouTube 视频的 iOS 应用。我正在尝试禁用相关视频并使用YouTube-iOS-helper

【问题讨论】:

    标签: swift youtube-api youtube-data-api


    【解决方案1】:

    在您的 playerVars 字典中将 rel(相关)键设置为 false (0):

    let playerVars = [ "rel" : 0 ]
    

    然后像往常一样拨打loadWithVideoId

    playerView.loadVideoWithId(videoId: "jCHE0Tjw6MA", playerVars: playerVars)
    

    【讨论】:

    • 我可以验证这是否有效,但是 Youtube 对其进行了一些更改。从 2018 年 9 月开始,设置 ["rel": 0] 不会禁用相关视频,但会将其限制为视频来自的频道。 Youtube Embedded Players and Player Parameters
    【解决方案2】:

    检查此official documentation,因为它说“没有针对 Swift 的开发”。

    Xcode 6.1.1 for iOS 8.1,这个项目不会编译。

    开发者仍在等待新的更新。到那时你就可以使用这个第三方库了https://github.com/gilesvangruisen/Swift-YouTube-Player/

    或者更好的是,您可以等待来自 Google 或 Apple 的新更新。

    【讨论】:

    • 奇怪..因为我的项目有效!唯一的问题是.. 我无法禁用建议的视频。即我不知道将 rel=0 子句放在哪里。 youtube 代码在 Objective-c 中,我正在使用桥接器
    【解决方案3】:

    我相信您需要将它添加到 playerVars。为了简化我的 Swift 项目中的事情,我将它直接添加到 YTPlayerView.m loadWithVideoId 函数中,因此它将是:

    - (BOOL)loadWithVideoId:(NSString *)videoId playerVars:(NSDictionary *)playerVars {
    if (!playerVars) {
        playerVars = @{@"showinfo": @0}
    }
    
    NSDictionary *playerParams = @{ @"videoId" : videoId, @"playerVars" : playerVars };
    
    return [self loadWithPlayerParams:playerParams];
    }
    

    【讨论】:

    • 嗯,它已经存在,但它不起作用。所以我所做的是(就像你的代码一样),我在玩家被传递值的任何地方添加了变量。它奏效了!不好的方法,但我需要一些东西来完成这项工作。
    猜你喜欢
    • 2019-05-06
    • 2016-04-26
    • 2014-12-02
    • 2012-11-05
    • 2016-03-23
    • 2023-03-29
    • 2016-11-15
    • 1970-01-01
    • 2015-05-20
    相关资源
    最近更新 更多