- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
查看但找不到我的具体问题的答案。
我想做什么:
从我的 HTML 或另一个 JS 函数中调用此函数,并播放从我的 JS 中的数组中选择的随机声音。
使用稍微不同的代码只播放一种声音
我可以很容易地播放一种声音,我的代码在这个意义上是有效的,但是当我尝试使用以下代码播放多种声音时,我在控制台中遇到了这个错误:
audio.js:90 Uncaught TypeError: Cannot read property 'call' of undefined
我的代码不工作,如何解决?
到目前为止,这是我的代码:
var SoundRandom = function (soundNameRandom) {
this.soundNameRandom = soundNameRandom;
}
SoundRandom.prototype.playRandomSound = function() {
RandomSound = new Audio(this.soundNameRandom);
var randomSound = Math.random() * 10;
if (randomSound > 5 && isMuted == false) {
RandomSound[0].play();
}
else if (randomSound < 6 && isMuted == false) {
RandomSound[1].play();
}
}
var randomSound = new SoundRandom(["sword.mp3", "openinvy.mp3"]);
我用
调用它randomSound.playRandomSound();
我的问题
我的代码有什么问题?我做错了什么或者我应该改变什么?仅使用 Javascript 就可以实现我想做的事情吗?我宁愿不使用 Jquery。我对 Javascript 的音频方面比较陌生,所以可能有些事情我不知道。
此外,我不想使用 HTML 音频标签,我想将所有内容都保留在 JS 中,正如我之前所说,它适用于单个声音片段,但不像我尝试做的那样是随机声音。
最佳答案
试试这个:
SoundRandom.prototype.playRandomSound = function() {
var randomSound = Math.random() * 10;
if (randomSound > 5 && isMuted == false) {
RandomSound = new Audio(this.soundNameRandom[0]);
RandomSound.play();
}
else if (randomSound < 6 && isMuted == false) {
RandomSound = new Audio(this.soundNameRandom[1]);
RandomSound.play();
}
}
我不知道这是否有效。然而,Audio
元素必须是一个字符串,但是您在 new Audio()
中放入了一个数组。我的代码的目标是首先获取随机整数,然后根据数组中给定的名称制作新音频并播放该元素。
关于javascript - 如何从阵列中挑选随机声音? (JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347811/
我即将将主干中的某些修订合并到发布分支中。我用 mergeinfo 检查了有多少修订符合合并条件,结果是 42。尽管检查每个修订日志并决定是否应该合并它绝对是可能的并且不太难。然后,我将使用 Tort
我有 5 个文件夹,每个文件夹包含大小为 10KB、500KB、1MB、5MB 和 30MB 的“n”个文件。现在我需要从这些文件夹中选择正好 15000 个文件并将它们放入一个新文件夹中,这样我就可
嗨,我已经成功解析了一个以公里为单位的距离的 XML 文件。但结果我得到了源距离列表,但列表中的最后一个元素包含列表中所有其他元素的总和。如何获取列表中的最后元素 一些源代码: for(int s=0
我正在尝试修剪它,它存储在一个名为 $line 的变量中。 [2012-06-18 10:37:09,026 (there is a lot of text after this, i just cu
我正在使用 Python Selenium 绑定(bind)并测试网络服务器。我试图断言文本“回归”和“回归测试”的存在。有谁知道如何做吗?这是我在检查我感兴趣的元素时看到的内容: Regressi
我是一名优秀的程序员,十分优秀!