javascript - 为什么audio paly() 方法在安卓低版本和苹果低版本无法自动播放
天蓬老师
天蓬老师 2017-04-10 18:05:52
[JavaScript讨论组]

$(function (){

$.getJSON("http:// ...........?template=1&callback=?",gettemplate)
function gettemplate(data) {
    //调用音乐播放
    $.Includ(["Music"], function() { 
        //调用方法
        $.Music(base_data["Music"]);
    })
}

$.extend({
    Music:function(musicSrc){
        if($("#Music").length > 0){
            return false;
        }else{
            $("body").append('<p class="Music" id="Music" play="0"><audio id="Music_play" src="' + musicsrc + '" hidden="true"  loop="loop" > </audio> </p>');
            
            $("Music").on("click" ,function (){
                var _Music_play=$("Music_play")[0];
                var _this = $(this);
                
                if(_this.attr("play") != 1){
                    _this.addClass(MusicRotate);
                    _Music_play.play();
                    _this.attr("play" , "0")
                }else{
                    _this.removeClass("MusicRotate");
                    _Music_play.pause();
                    _this.attr("play" , "0");
                }
            });
            
            $("#Music").click();
            
        }
    }
})

}

CSS样式 未提取。

导致的现象 是: 在最新出的 手机上 音乐能够 正常自动播放, 图标也在进入的时候 正常旋转,

(iphone   5s  6  6s  7  7p   三星新版本手机) 

以下是不正常的 手机 型号和问题 : 小米  oppo   iPhone6p  音乐图标旋转, 但是音乐没有自动播放, 检测 代码 
console.log($("#Music_play")[0].currentTime);   // 音乐播放状态时间 输出结果为 0 ;
    

必须要将 图标 点击 两次 才能成功播放


请 大神  解答  
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
高洛峰

移动端的部分浏览器出于用户体验和安全性(主要是保护用户流量)是禁止了自动播放和自动加载资源的。
这个部分直接传送门: https://segmentfault.com/a/11...

你应该在页面初始化的时候就初始化一个audio的dom,然后后面的点击等事件直接播放,而不是点击才创建dom,手动抛事件,这样是无效的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号