0

在我的 OSX 10.6 和更新版本的可可应用程序中,我一直使用此代码嵌入来自 youtube 的视频:

NSString *html = @"<center><iframe width=\"748\" height=\"461\" src=\"http://www.youtube.com/embed/SV1cVDhKZ6g?rel=0\" frameborder=\"0\" allowfullscreen></iframe></center>";

  [[videoView mainFrame] loadHTMLString:html baseURL:nil];

但现在它不再工作了,它只是出现一个黑色窗口,如果我点击它,我仍然可以听到视频中的音频,但不再有图像......我正在使用 Maverick 和 Xcode 5......任何人都知道会发生什么问题?谢谢你的帮助。马西

更新:我还注意到,如果我双击视频帧以全屏查看,视频会出现...但是当我再次双击以使其在我的应用程序中加框时,视频的图像再次消失

更新 2:正如 ThisDarkTao 所指出的,我现在可以说这是一个与 Safari 的 Flash 沙箱有关的问题。我通过这篇文章尝试了解决方案:

WebView 中的 Flash 视频在沙盒应用程序中不起作用

但它根本没有用......

在我的研究过程中,我在某处读到有人说这一定是一个错误……我不太确定……我认为这正是 Apple 想要的……最后,闪存对于那些在库比蒂诺……不是吗?

我确信必须有一个解决方案......

如果有人知道更好的解决方案,请写下来......如果没有人会给出更好的解决方案,我会接受 ThisDarkTao 的答案,因为它现在接缝是使其工作的唯一方法。

4

1 回答 1

3

看起来这是关于 Safari 的 Flash 沙箱的问题。我目前正在开发的 Mavericks 应用程序也有同样的问题。我添加html5=1到视频参数列表中,有效地强制使用 HTML5 视频。

在这种情况下,您的将是:

NSString *html = @"<center><iframe width=\"748\" height=\"461\" src=\"http://www.youtube.com/embed/SV1cVDhKZ6g?rel=0&html5=1\" frameborder=\"0\" allowfullscreen></iframe></center>";

如果您确实需要 Flash,我还没有找到更优雅的解决方案。

于 2013-11-07T14:30:02.077 回答