Javascript 自动播放音频未播放
我想让浏览器播放我的wolf.mp3文件10次。加载页面后,什么也没有发生Javascript 自动播放音频未播放,javascript,html,Javascript,Html,我想让浏览器播放我的wolf.mp3文件10次。加载页面后,什么也没有发生 class Animal { constructor(name, audioSrc) { this._name = name; this._audioSrc = audioSrc; } makeSound() { let audioEl = document.createElement("audio"); audioEl.src = this._audioSrc; au
class Animal {
constructor(name, audioSrc) {
this._name = name;
this._audioSrc = audioSrc;
}
makeSound() {
let audioEl = document.createElement("audio");
audioEl.src = this._audioSrc;
audioEl.autoplay = true;
document.body.appendChild(audioEl);
}
}
let testyWolf = new Animal("wolf","audio/wolf.mp3" );
for (let i = 0; i < 10; i++) {
testyWolf.makeSound();
}
类动物{
构造函数(名称,audioSrc){
这个。_name=name;
这._audioSrc=audioSrc;
}
makeSound(){
让audioEl=document.createElement(“音频”);
audioEl.src=这个;
audioEl.autoplay=真;
文件.正文.附件(audioEl);
}
}
让testyWolf=新动物(“wolf”,“audio/wolf.mp3”);
for(设i=0;i<10;i++){
testyWolf.makeSound();
}
因为
用户需要首先与文档交互,即单击页面上的某个位置
类动物{
构造函数(名称,audioSrc){
这个。_name=name;
这._audioSrc=audioSrc;
}
makeSound(){
让audioEl=document.createElement(“音频”);
audioEl.src=这个;
audioEl.autoplay=真;
文件.正文.附件(audioEl);
}
}
让testyWolf=新动物(“狼”https://freewavesamples.com/files/Yamaha-V50-Rock-Beat-120bpm.wav" );
document.addEventListener('click',e=>{
testyWolf.makeSound()
})
单击任意位置
,因为出现了错误
用户需要首先与文档交互,即单击页面上的某个位置
类动物{
构造函数(名称,audioSrc){
这个。_name=name;
这._audioSrc=audioSrc;
}
makeSound(){
让audioEl=document.createElement(“音频”);
audioEl.src=这个;
audioEl.autoplay=真;
文件.正文.附件(audioEl);
}
}
让testyWolf=新动物(“狼”https://freewavesamples.com/files/Yamaha-V50-Rock-Beat-120bpm.wav" );
document.addEventListener('click',e=>{
testyWolf.makeSound()
})
单击任意位置
只能播放一个音频文件,但您可以使一个文件听起来像许多文件
无论如何,由于自动播放策略。
如果用户没有与之交互,则无法自动播放。因此,我对您的代码进行了一些更改,现在当您将鼠标置于身体上方时,音频将播放,但它看起来像自动播放。看下面来理解
类动物{
构造函数(名称,audioSrc){
这个。_name=name;
这._audioSrc=audioSrc;
这个。audioEl=“”;
}
play(){
这个.audioEl.play();
}
makeSound(){
this.audioEl=document.createElement(“音频”);
this.audioEl.src=this.\u audioSrc;
this.audioEl.autoplay=false;
document.body.appendChild(this.audioEl);
归还这个;
}
}
var项目=[];
for(设i=0;i<10;i++){
物品。推送(新动物(“狼”),“https://freewavesamples.com/files/Yamaha-V50-Rock-Beat-120bpm.wav);
}
document.addEventListener('mouseover',e=>{
items.forEach((项目)=>
{
setTimeout(函数(){item.play()},200);
});
})
只能播放一个音频文件,但您可以使一个文件听起来像许多文件一样
无论如何,由于自动播放策略。
如果用户没有与之交互,则无法自动播放。因此,我对您的代码进行了一些更改,现在当您将鼠标置于身体上方时,音频将播放,但它看起来像自动播放。看下面来理解
类动物{
构造函数(名称,audioSrc){
这个。_name=name;
这._audioSrc=audioSrc;
这个。audioEl=“”;
}
play(){
这个.audioEl.play();
}
makeSound(){
this.audioEl=document.createElement(“音频”);
this.audioEl.src=this.\u audioSrc;
this.audioEl.autoplay=false;
document.body.appendChild(this.audioEl);
归还这个;
}
}
var项目=[];
for(设i=0;i<10;i++){
物品。推送(新动物(“狼”),“https://freewavesamples.com/files/Yamaha-V50-Rock-Beat-120bpm.wav);
}
document.addEventListener('mouseover',e=>{
items.forEach((项目)=>
{
setTimeout(函数(){item.play()},200);
});
})