嵌入的youtube视频不能在WKWebView中播放,而完全相同的视频在UIWebView中工作

时间:2015-01-25 21:33:04

标签: ios youtube wkwebview

当我将网页加载到包含嵌入式YouTube视频的UIWebView(甚至是www.youtube.com页面)时,它对IOS7或IOS8起到了良好的作用。但是当我切换到WKWebView(IOS8)并加载相同的网页时,youtube视频在第一次点击时根本没有播放,然后在随后的播放点击(在youtube播放器上)播放一两秒。就像它的缓冲区空间不足并暂停,直到我再次点击播放只播放另一秒钟。

从Safari这个(或任何其他)YouTube视频在同一个局域网上从头到尾播放。同样,正如我之前提到的,UIWebView在IOS7或IOS8中没有问题。所以我的无线数据通过put或连接不是问题。

我需要做些什么才能让玩家继续前进?也许为WKWebViews增加流视频缓冲区空间?

2 个答案:

答案 0 :(得分:0)

好的,我弄清楚为什么会这样,以及为什么没有其他人受到影响。 WKWebView和IOS 8处理了一些在IOS 8中没有被弃用但行为不同的东西。这是一个。

我的应用程序实时采样来自麦克风的音频。这在IOS的早期版本中很好,但显然在IOS 8中,当WKWebView启动视频流时,音频样本可以杀死它(上帝只知道确切原因)。

但是,我需要能够使用WKWebView对音频进行采样,但在视频播放时我不一定需要这样做。因此,挑战将是弄清楚用户何时点击了YouTube或vimeo或显然任何其他流视频,并在视频流式传输时暂停我的音频采样器。目前我不知道该怎么做。

我还发现了使用UIView动画时IOS8和之前的另一个区别。在IOS 8之前,您可以在UIWebView中对图像之间的交换进行动画制作,只要您设置持续时间并且您不必启用动画,动画就会保持不变。

    [UIView beginAnimations:@"fade1" context:nil];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationsEnabled:YES];
    [UIView commitAnimations];

现在在IOS8中,显然你必须设置一个监听器并在完成后禁用动画,否则你的UIView动画将应用于各种意外甚至是原生的行为。像手指滚动本机列表或用户垂直滚动UIWebView中的网页一样。禁用动画,这些对其他对象的奇怪影响消失。

   [UIView setAnimationsEnabled:NO];

现在我对提交的内容完全感到困惑。在IOS 8中似乎不再需要它。

答案 1 :(得分:0)

要知道视频播放的时间,您可以尝试this solution from Paulo Fierro

相关问题