24

これは一日中私を殺していましたが、ネイティブ コントロールなしで html5 ビデオ プレーヤーを動作させる方法がわかりません。

コントロールはまったく必要ありませんが、それらを含めないと、ビデオを再生したくないように見えます.下にjavascriptを追加して強制的に再生しようとしても、iPhoneと複数のブラウザで動作します.奇妙な iPad ではありませんが、何か考えはありますか?

それが役立つ場合は、ここにいくつかのマークアップがあります!

<video src="video.mp4" id="video" poster="image.jpg" onclick="this.play();"/></video>

$('#video').click(function(){
   document.getElementById('video').play();
});
4

5 に答える 5

13

autoplayiOSはビデオタグの属性をサポートしていません。また、jQueryを使用してビデオ要素からのクリックイベントにバインドすることはできないように見えます(fiddleを参照)。

回避策は、ビデオ要素の上に非表示のdivを配置し、ビデオを再生するクリックをそれにバインドすることです(フィドルを参照)。

HTML:

<div id="video-overlay"></div>
<video id="video" width="400" height="300">
      <source id='mp4'
        src="http://media.w3.org/2010/05/sintel/trailer.mp4"
        type='video/mp4'>
      <source id='webm'
        src="http://media.w3.org/2010/05/sintel/trailer.webm"
        type='video/webm'>
      <source id='ogv'
        src="http://media.w3.org/2010/05/sintel/trailer.ogv"
        type='video/ogg'>
</video>

CSS:

#video { border: 1px solid black; }
#video-overlay { position: absolute; width: 400px; height: 300px; z-index: 999;  }

jQuery:

$('#video-overlay').click(function(){
   document.getElementById('video').play();
});
于 2012-06-01T23:11:46.820 に答える
8

設計上、ビデオを自動再生することはできませんが、再生が開始された後にコントロールを削除するのは簡単です。これが本当に必要な効果だと思います:

<video id="video" src="video.mp4" poster="image.jpg" preload="auto" onplaying="this.controls=false"/></video>
于 2014-08-30T19:57:53.023 に答える
5
于 2016-07-15T00:08:42.703 に答える
3

私ができる最善のことは、ユーザーが画面に触れて何かをしたり、ページを下にスクロールしたりするとすぐにビデオを再生することです。

function playVideoNow(e)
{
    document.getElementById('video').play();
    document.removeEventListener('touchstart', playVideoNow);
}

document.addEventListener('touchstart', playVideoNow, false);
于 2015-02-26T00:44:11.143 に答える
2

現在、iOS 6 はautoplay一部のデバイスで要素をサポートしています。

http://www.longtailvideo.com/html5/autoloop/を参照してください。

于 2013-09-13T09:04:19.947 に答える