网站地图    收藏   

主页 > 前端 > jquery教程 >

video实现浏览器打开自动播放

来源:未知    时间:2019-01-03 15:27 作者:小飞侠 阅读:

[导读] 1.html 2.demo Fake auto play html audio in iOS Safari the right way --------------------- p1.htmlnbsp;/pvideoid=minione-videoclass=minione-videoposter=./common/images/mini-one/miniONE_BG2.jpgautoplay=autoplaymuted=mutedpreload=nbsp;nbsp;nbs...

1.html  

2.demo    

   

   

Fake auto play html audio in iOS Safari the right way

   

---------------------

<p>
    1.html

&nbsp;
</p>
<video id="minione-video" class="minione-video" poster="./common/images/mini-one/miniONE_BG2.jpg" autoplay="autoplay" muted="muted" preload="">
    &nbsp; &nbsp; &nbsp; &nbsp;
    <source type="video/mp4" src="http://c1.mifile.cn/f/i/16/chain/airpro/airpro-top.mp4"/>&nbsp; &nbsp; &nbsp; &nbsp; <!--<source type="video/mp4" src="./common/images/mini-one/mini-one-video.mp4">-->
&nbsp; &nbsp; &nbsp; &nbsp; <!--<source type="video/mp4" src="./common/images/mini-one/mini-one-video.Ogg">-->
&nbsp; &nbsp; &nbsp; &nbsp; <img src="./common/images/mini-one/BG2.jpg" alt="one"/>&nbsp; &nbsp; &nbsp;
</video>
<p>
    2.demo

&nbsp; &nbsp;
</p>
<meta charset="UTF-8"/>
<p>
    &nbsp; &nbsp;
</p>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
<p>
    &nbsp; &nbsp;
</p>
<title>
    Fake auto play html audio in iOS Safari the right way
</title>
<p>
    &nbsp; &nbsp;
</p><style>        video{
            width: 100%;
        }
   </style>
<video id="bgmusic" autoplay="" preload="" muted="">
    &nbsp; &nbsp;
    <source type="video/mp4" src="http://c1.mifile.cn/f/i/16/chain/airpro/airpro-top.mp4"/>
</video><script>    (function() {
        function log(info) {
            console.log(info);
            // alert(info);
        }
        function forceSafariPlayAudio() {
            audioEl.load(); // iOS 9   还需要额外的 load 一下, 否则直接 play 无效
            audioEl.play(); // iOS 7/8 仅需要 play 一下
        }


        var audioEl = document.getElementById('bgmusic');


        // 可以自动播放时正确的事件顺序是
        // loadstart
        // loadedmetadata
        // loadeddata
        // canplay
        // play
        // playing
        // 
        // 不能自动播放时触发的事件是
        // iPhone5  iOS 7.0.6 loadstart
        // iPhone6s iOS 9.1   loadstart ->loadedmetadata -> loadeddata -> canplay
        // audioEl.addEventListener('loadstart', function() {
        //     log('loadstart');
        // }, false);
        // audioEl.addEventListener('loadeddata', function() {
        //     log('loadeddata');
        // }, false);
        // audioEl.addEventListener('loadedmetadata', function() {
        //     log('loadedmetadata');
        // }, false);
        // audioEl.addEventListener('canplay', function() {
        //     log('canplay');
        // }, false);
        // audioEl.addEventListener('play', function() {
        //     log('play');
        //     // 当 audio 能够播放后, 移除这个事件
        //     window.removeEventListener('touchstart', forceSafariPlayAudio, false);
        // }, false);
        // audioEl.addEventListener('playing', function() {
        //     log('playing');
        // }, false);
        // audioEl.addEventListener('pause', function() {
        //     log('pause');
        // }, false);


        // 由于 iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio,
        // 因此我们通过一个用户交互事件来主动 play 一下 audio.
        window.addEventListener('ready', forceSafariPlayAudio, false);
        // audioEl.src = 'http://c1.mifile.cn/f/i/16/chain/airpro/airpro-top.mp4';
    })();</script>
<p>
    ---------------------


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论