我想在jquery中自动播放一个mp3文件
我使用了这段代码,
function musicStart() {
pop = window.open('', 'back__music', 'width=100,height=100', true);
pop.document.write('<audio controls autoplay loop><source
src="./music.mp3"/></audio>');
}
循环正在工作, 但是自动播放不是。
当我将autoplay="true"
或autoplay="1"
或autoplay="autoplay"
添加到音频标记时,结果是相同的。
或者当我使用embed标签时,它不会重复播放音乐。
我不在乎使用音频标签或嵌入标签
我该怎么办?
答案 0 :(得分:0)
$('audio')[0].play();
(假设您的网页中只有一个audio
)应该可以胜任。
一个基本的例子:
$('audio')[0].play();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<audio controls>
<source src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4" type='audio/mp4'></audio>
&#13;
答案 1 :(得分:0)
在jQuery中,你可以实现:
$('.music').html('<audio controls autoplay> <source src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4" type="audio/mpeg"> </audio>');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="music">
</div>
&#13;
答案 2 :(得分:0)
我知道解决方案!
我解决了这个问题,如果有人像我这样有问题,请跟我来。
首先,在此处输入链接〜chrome://flags/#autoplay-policy,然后从默认设置检查无需用户手势
之后,改变你的代码
function musicStart() {
pop = window.open('', 'back__music', 'width=100,height=100', true);
if (back__music.location.href === 'about:blank') {
pop.document.write('<audio controls autoplay loop><source src="./music.mp3" type="audio/mp3"/></audio>');
}
}
我希望与你同在:)