使用'YoutubePlayer Swift SDK'在tableviewCell中播放youtube视频

时间:2018-03-29 10:16:37

标签: ios swift uitableview youtube

我正在整合'YouTubePlayer Swift SDK' 您可以查看此链接Swift-YouTube-Player

一切正常,但我面临一个问题,即 当我播放视频时,我总是在全屏播放。我想在tableviewCell中播放视频,就像我们在Facebook,Instagram上看到的一样。

通过分配playerVars,'youtube-ios-player-helper SDK'可以实现同样的功能。 像这样,

NSDictionary *playerVars = @{
                          @"playsinline"    : @1
                        };

有没有想过快速播放视频的人? 请尽可能分享代码

提前致谢:)

1 个答案:

答案 0 :(得分:1)

最后我花了4个小时得到解决方案:)

如果你们需要让SDK工作与objc相同,特别是参数

请转到你的sdk里面的'YouTubePlayer.swift'文件 并用这个替换'serializedJSON'函数:

fileprivate func serializedJSON(_ object: AnyObject) -> String? {

    var dict = object as! NSDictionary
    var dictTemp = dict.mutableCopy() as! NSMutableDictionary
    var dictTempPlayerVar = dictTemp.value(forKey: "playerVars") as! NSDictionary
    var dictTempPlayerVar1 = dictTempPlayerVar.mutableCopy() as! NSMutableDictionary
    dictTempPlayerVar1.setValue("1", forKey: "playsinline")
    dictTemp.setValue(dictTempPlayerVar1, forKey: "playerVars")

    do {
        // Serialize to JSON string
        let jsonData = try JSONSerialization.data(withJSONObject: dictTemp as! AnyObject, options: JSONSerialization.WritingOptions.prettyPrinted)

        // Succeeded
        return NSString(data: jsonData, encoding: String.Encoding.utf8.rawValue) as? String

    } catch let jsonError {

        // JSON serialization failed
        print(jsonError)
        printLog("Error parsing JSON")

        return nil
    }
}

有效:)