2011-07-08 99 views
1

我有一个视频标签,在Safari,Chrome中运行良好,但在iPad/iPhone上运行不正常。我做错了什么。html5视频不能在iPad上播放

<a onclick="showVideoPlayer('http://www.mywebsite.com/videos/a video file.m4v')" id="video1" href="#">Play video</a> 

js代码

function showVideoPlayer(videoSrc, showDownloadLink){ 
      alert(videoSrc); 
      if(!videoSrc) 
       return; 

      $('div#overlay').show(); 
      var $videoPlaceHolder = $('div#video-placeholder'); 
      $videoPlaceHolder.show(); 

      var $video = $videoPlaceHolder.find('video'); 

      var winWidth = $(window).width() - 80; 
      var winHeight = $(window).height() - 120; 

      $video.attr('src', videoSrc); 
      $video.attr('width', winWidth + 'px'); 
      $video.attr('height', winHeight + 'px'); 
      $videoPlaceHolder.append($video); 
      if(showDownloadLink){ 
       $('#video-placeholder .down').show(); 
      } 

     } 
+0

请您给予#video-placeholder的标记吗? – betamax

回答

0

的iOS是臭名远扬的额外挑剔播放视频。这里有几件事情来检查:采用H.264 Baseline Profile的(其他配置文件不能保证iOS的下打)被送达适当的内容类型标题

  • 视频文件

    1. 视频编码(binary/octet-stream会不适用于iOS)
    2. 如果最终在您的<video />中使用<source type="foo" src="bar" />标记,请确保type属性的值完全匹配服务器提供的content-type标头 - 这是区分大小写的。
    3. 传送视频文件的服务器必须支持字节范围请求 - 如果出现这种问题,iOS Safari的开发人员控制台应显示这些行的投诉。

    这些是我遇到过的最常见的错误(我在在线视频平台上工作) - 希望你的问题会像找出你错过的要求一样简单。