Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用';YoutubePlayer Swift SDK';_Ios_Swift_Uitableview_Youtube - Fatal编程技术网

Ios 使用';YoutubePlayer Swift SDK';

Ios 使用';YoutubePlayer Swift SDK';,ios,swift,uitableview,youtube,Ios,Swift,Uitableview,Youtube,我正在集成“YouTubeplyer Swift SDK” 您可以签入此链接 所有事情都正常工作,但我面临一个问题,即 当我播放视频时,我总是全屏播放。我想在tableviewCell中播放视频,就像我们在Facebook、Instagram中看到的那样 在“youtube ios player helper SDK”中,通过分配playerVars也可以实现同样的功能。 像这样, NSDictionary *playerVars = @{ @

我正在集成“YouTubeplyer Swift SDK” 您可以签入此链接

所有事情都正常工作,但我面临一个问题,即 当我播放视频时,我总是全屏播放。我想在tableviewCell中播放视频,就像我们在Facebook、Instagram中看到的那样

在“youtube ios player helper SDK”中,通过分配playerVars也可以实现同样的功能。 像这样,

NSDictionary *playerVars = @{
                          @"playsinline"    : @1
                        };
有没有人想到用swift播放视频? 如果可能,请共享代码


提前感谢:)

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

如果你们需要让SDK和objc一样工作,特别是参数

请转到sdk中的“youtubeplyer.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
    }
}

有效:)

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

如果你们需要让SDK和objc一样工作,特别是参数

请转到sdk中的“youtubeplyer.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
    }
}

它可以工作:)

添加一些额外的代码'@Anbu.karthik不需要太多代码,在mySide我只加载像cell.vwPlayer.loadVideoID(“vTRAUjImBFQ”)这样的视频url。除此之外,所有这些都是由swift SDKyoutube ios player完成的,它只在特定的帧中播放,而不是在完整的屏幕中,检查一下你的cell.vwPlayer帧,但是我只需要在swift中使用它,objc库不能在我的swift代码中使用OK让我检查一下,把objc库手动添加一些额外的代码'@Anbu.karthik,没有太多代码需要做,在mySide我只加载像cell.vwPlayer.loadVideoID(“vTRAUjImBFQ”)这样的视频url除此之外,swift SDKyoutube ios player完成的所有这些操作仅在特定帧中播放,而不是在完整的屏幕中,检查一下cell.vwPlayer帧,但我只需要在swift中使用它,objc lib不在我的swift代码中工作OK让我手动放置objc库进行检查