在iPad上播放HTML5视频?

时间:2011-08-26 14:56:53

标签: javascript ipad html5 video html5-video

我正在开发一个网络应用,并且无法使用iPad的HTML5视频。此代码在其他任何地方都能正常工作,而不是iPad。我只是得到一个视频帧,一个黑盒子。 HTML是在javascript中生成的,它本身并不是硬编码。

<video preload="true" src="places/video.mp4" class="c1" id="it" height="480" width="385" controls="">
</video>

任何人都知道什么可能是错的? (根据Dive Into HTML5中的规定,使用手刹CLI和ffmpeg2theora编码视频。)

我认为问题在于它不是http://serverlocation/places/video.ext。我如何改变它看起来像那样(不能保证我知道服务器位置。)我的一部分怀疑这是因为图像是在没有http://的情况下提供的,而且它们工作正常。

1 个答案:

答案 0 :(得分:3)

我想我知道这个问题。当出现多个<source>标签时,iPad会发出窒息声。你可以做的(简单地说)就是使用jQuery来添加/删除对象。

<强> HTML:

<div id="movie-wrapper">
  <div id="webkit-wrapper">
    <video width="480" height="360" controls="controls" src="places/video.mp4"></video>
  </div>
  <div id="other-wrapper">
    <!-- Do your video in a new wrapper for all others -->
  </div>
</div>

<强> JS:

$(document).ready( function(){
  if($.browser.webkit) {
    $('#other-wrapper').remove();
  } else {
    $('#webkit-wrapper').remove();
  }
});

理想情况下,您将为每个主要浏览器设置一个条件,因为您需要至少三种类型的视频才能实现完全兼容性。但是这样的事情应该可以解决iPad webkit的问题。

修改 重读你的评论,我想确定一些事情 - 你在视频元素上有controls="controls"如上所述。从我读过的所有内容来看,iPad要求启用播放功能。否则,你得到一个黑屏。

您还可以根据HTML5 Video "Black Screen" on iPad

查看是否存在编码问题

修改 其他考虑: Web服务器可能没有正确报告文件类型(如果它传输时带有关于类型的警告,您可以在错误控制台中进行检查)

如果正在加载海报,请尝试直接访问mp4视频的链接(请参阅quicktime是否在浏览器中播放)。

除此之外,我不知道 - 除非您使用非工作示例发布指向您网页的链接,否则会继续误解事实。