网页嵌入音乐/视频

Posted 蚂蚁Zz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网页嵌入音乐/视频相关的知识,希望对你有一定的参考价值。

<!--h5代码 安卓微信测试可行-->
<audio autoplay="true" loop="true"><source src="music/bg.mp3"></audio>

 

ios 4.2开始,所有的媒体元素必须要用户操作之后才能播放,比如点击、输入动作, 这个是ios的一个安全限制 

参考问题来源:iphone浏览器(三大主流浏览器) 开webApp中 audio 播放不了

 

通过交互动作播放media

参考文案来源:解决html5 audio iphone,ipd,safari不能自动播放问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>Fake auto play html audio in iOS Safari the right way</title>
</head>
<body>
    <h1>在 iOS Safari 中假装自动播放 HTML5 audio(音乐) 的正确方式</h1>
    <p>核心原理: 通过一个用户交互事件来主动 play 一下 audio</p>
    <br>
    <br>
    <br>
    <audio id="bgmusic" autoplay preload loop controls></audio>
    <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(\'touchstart\', forceSafariPlayAudio, false);

        audioEl.src = \'http://www.w3school.com.cn/i/song.mp3\';
    })();
    </script>
</body>
</html>
Demo View Code

 

以上是关于网页嵌入音乐/视频的主要内容,如果未能解决你的问题,请参考以下文章

框架,锚点,背景音乐,嵌入视频和跑马灯效果

播放视频时停止播放的背景音乐

腾讯视频嵌入网页的方法 腾讯视频网页嵌入代码方法

腾讯视频嵌入网页的方法 腾讯视频嵌入网页代码

网页中视频自动播放的代码

iOS:在 WKWebView 中嵌入视频在后台停止音乐