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