Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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_Audio_Html5 Audio - Fatal编程技术网

Javascript 将音频对象指定给变量均衡功能

Javascript 将音频对象指定给变量均衡功能,javascript,audio,html5-audio,Javascript,Audio,Html5 Audio,我正在为我的游戏创建一个声音库,我正在努力使它尽可能的干净和灵活。我的最终目标是能够定义一个变量(如下面的代码所示),并以类似音频对象的方式调用它sound1.play()或sound1.mute()等。我该怎么做呢?我的想法是,如果我将变量名传递给函数(例如sound1)并将其指定为audio对象,那么理论上它会工作 var sound1 = new brazen({ source:[ ['audio/hit1.mp3'], // mp3 ], }) 虽然我尝试过传递变量名,

我正在为我的游戏创建一个声音库,我正在努力使它尽可能的干净和灵活。我的最终目标是能够定义一个变量(如下面的代码所示),并以类似音频对象的方式调用它
sound1.play()
sound1.mute()
等。我该怎么做呢?我的想法是,如果我将变量名传递给函数(例如sound1)并将其指定为audio对象,那么理论上它会工作

var sound1 = new brazen({
  source:[
    ['audio/hit1.mp3'], // mp3
  ],
})
虽然我尝试过传递变量名,但仍然无法通过
sound1.play()
调用它

这很有效

this.newSound = new Audio(soundName); // sound1.newSound is now an audio object
this.newSound.play(); // sound1.newSound.play() plays the sound
我想要什么

this = new Audio(soundName); // sound1 is now an audio object
this.play(); // sound1.play() plays the sound
我如何实现我的目标?显然,“我想要什么”不起作用,因为您无法将音频位分配给它。我想为任何声明为“new brazen()”的变量动态地实现这一点


理想情况下,我希望这个库是独立的,但如果Jquery是唯一的解决方案,我会接受它。

找到了一个解决方案

我觉得没有早点尝试这一点很傻,但下面给出了我想要的结果。这是愚蠢的简单

s = new Audio(soundName); // sound1 is now an audio object
return s; // Var sound1 = audio object and assumes properties of HTML audio object, including .play();

为什么要尝试将值分配给此?
new brazen()
返回了什么?对
这个
缺乏正确的理解,同时试图找到问题的解决方案<代码>新brazen
当前不返回任何内容。。。给我一分钟,我来测试一下使用返回预期结果的方法有什么问题?没关系,我刚刚找到了解决方案。。。对不起,哈哈:)我将编辑我的问题以包含答案,并将其标记为已回答。顺便说一句,谢谢你,因为你在询问
newbrazen()
返回的内容时的评论帮助我意识到了我的错误。