Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动播放音频未播放_Javascript_Html - Fatal编程技术网

Javascript 自动播放音频未播放

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

我想让浏览器播放我的wolf.mp3文件10次。加载页面后,什么也没有发生

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);
});
})