html5多次用js播放audio之后就没有声音了. 重新刷新之后又好了

问题如题,代码如下functionplayAudio(source){player=newAudio(source);player.preload=true;player... 问题如题, 代码如下
function playAudio(source) {
player = new Audio(source);
player.preload = true;
player.volume = 1;

// player.autoplay = "autoplay";
// player.volume = 1.0;
player.play();
}
一般是播放3‘-40次之后就会突然没有声音了。 刷新网页之后又回复了。 这个问题在pc浏览器上也没有。 求高手出手。
问题目前只在手机浏览器上有发现, 包括微信自带的浏览器。
展开
 我来答
碧血玉叶花
2015-06-14 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1719万
展开全部

推荐你采用JS控制

既然看到送你一个demo吧,自行研究,应该都很详细了


   

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1 user-scalable=0"/>
    <link rel="shortcut icon" href="img/logo.png">
    <title>html5 audio音频播放</title>
    <style>
        *{ margin: 0; padding:0;}
        body{-webkit-tap-highlight-color: rgba(0,0,0,0); font-family: "微软雅黑"}
        h1{ width: 100%; font-size: 1.5em; text-align: center; line-height: 3em; color:#47c9af; }
        #audio{ width: 100%;}
        #control{ width: 150px; height: 150px; line-height: 150px; text-align: center; border-radius: 200px; border:none; color:#fff; margin-top: -75px; margin-left:-75px; left:50%; top:50%; position: absolute; box-shadow: #888 0 0 8px;}
        .color_gray{ background: #e4e4e4}
        .hide{ display: none;}
        .show{ display: block;}
        .play{ background:  #f06060;}
        .pause{ background:skyblue}
        /*进度条样式*/
        .progressBar{ width: 100%; height: 10px;margin: 30px auto 30px auto; position:absolute; left: 0; bottom: 35px;}
        .progressBar div{ position: absolute;}
        .progressBar .progressBac{ width: 100%; height: 10px;  left: 0; top:0; background: #e4e4e4;}
        .progressBar .speed{width: 100%; height: 10px; left: -100%; background: #f06060; }
        .progressBar .drag{ width: 30px; height: 30px; left: 0; top:-10px;  background: skyblue; opacity: 0.8; border-radius: 50px; box-shadow: #fff 0 0 5px;}
        /*时间样式*/
        #time{ width: 100%; height: 20px;position: absolute; left: 0; bottom:30px; color:#888;}
        .tiemDetail{ position: absolute; right:10px; top:0;}
        #songInfo{overflow: hidden; width: 200px; height:50px; line-height: 50px; text-align: center; color:#34495e;   margin-top: -25px; margin-left:-100px; left:50%; top:70%; position: absolute;}
        .shareImg{ position: absolute; left: 100000px;}
    </style>
</head>
      
<body>
    <script>
$(function() {
    getSong();
})
  
//获取歌曲链接并插入dom中
function getSong() {
    var audio = document.getElementById("audio");
    audio.src = "
 
    audio.loop = true; //歌曲循环
    playCotrol(); //播放控制函数
  
}
  
//点击播放/暂停
function clicks() {
    var audio = document.getElementById("audio");
    $("#control").click(function() {
        if ($("#control").hasClass("play")) {
            $("#control").addClass("pause").removeClass("play");
            audio.play();//开始播放
            dragMove();//并且滚动条开始滑动
            $("#control").html("暂停播放");
        } else {
            $("#control").addClass("play").removeClass("pause");
            $("#control").html("点击播放");
            audio.pause();
        }
    })
}
  
//播放时间
function timeChange(time, timePlace) {
    var timePlace = document.getElementById(timePlace);
    //分钟
    var minute = time / 60;
    var minutes = parseInt(minute);
    if (minutes < 10) {
        minutes = "0" + minutes;
    }
    //秒
    var second = time % 60;
    seconds = parseInt(second);
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    var allTime = "" + minutes + "" + ":" + "" + seconds + ""
    timePlace.innerHTML = allTime;
}
  
//播放事件监听
追问
本来就全部是js控制的。不需要任何播放界面。每次播放的内容都不一样,播放时把内容传递进来,调用这个函数。你好像没有仔细看我的问题
你的复制粘贴的东西根本就没有解决我的问题,还浪费我的积分和时间。这个傻x百度,把一个确认回答按钮搞得像个选中了的checkbox一样,我想取消选中,结果傻x还确认了你的答案了。更无耻的是不能改回来了。气死我了
匿名用户
2020-08-17
展开全部
你是不是用了微信访问?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式