2014-10-02 65 views
0

我在javascript中使用2个数组填充单词,然后使用随机化显示每个数组中的1个单词。但是,如果我想在第一个数组中选择第二个单词时播放标记为“1.mp3”的特定声音,并在第二个数组中选择了第九个单词时播放标记为“8.mp3”的声音。这些声音会按照第一个数组声音的顺序播放,然后是第二个数组声音。我正在使用cordova的Media插件来支持电话。任何人都可以指引我走向正确的方向吗?根据随机数组结果播放特定的声音?

JavaScript的数组是这样的:

var wordlist1 = ["Aggressive", "Amazing", "Attractive", "Black", "Broken", "Brave", 
"Caring", "Cold", "Corny", "Delicious", "Dramatic", "Dull", "Euphoric", "Exotic", 
"Evil", "Fabulous", "Feminine", "Fat", "Glorious", "Gripping", "Grand", "Hairy", 
"Horny", "Hard", "Immense", "Idiotic", "Inferior", "Jam-Packed", "Juicy", "Jealous", 
"Kooky", "Klutzy", "Knowledgeable", "Lame", "Lazy", "Loving", "Mad", "Milky", "Moist", 
"Naive", "Naughty", "Neglected", "Oily", "Obese", "Overcooked", "Passionate", "Party", 
"Peaceful", "Pasty", "Questionable", "Queasy", "Qualified", "Reckless", "Repulsive", 
"Rubbery", "Slimy", "Salty", "Stiff", "Thick", "Terrible", "Thunderous", "Ugly", 
"Uncomfortable", "Unpleasant", "Violent", "Vivid", "Vicious", "Wobbly", "Wee", "Wet", 
"Young", "Yummy", "Yellowish", "Zany", "Zappy", "Zealous"] 
var displayword1 = wordlist1[Math.floor(Math.random() * wordlist1.length)]; 
document.getElementById("word1").innerHTML = displayword1 

第二阵列是几乎相同的保存阵列&名 的内容,那么我有一个HTML文件,将加载脚本;

<p id="word1"></p> 
<script src="main.js"></script> 
+0

请问您能否添加一些描述您迄今所做工作的代码? – Friederike 2014-10-02 13:50:48

+0

我用一些代码编辑了原文。 – MrBalrog 2014-10-02 13:55:01

回答

0
var wordlist1 = ["Aggressive", "Amazing", "Attractive", "Black", "Broken", "Brave", 
"Caring", "Cold", "Corny"] 


var randomNumber = Math.floor(Math.random() * wordlist1.length); 
var displayword1 = wordlist1[randomNumber]; 
document.getElementById("word1").innerHTML = displayword1 
var media = new Media(randomNumber+".mp3", function(){/*success*/}, function(){/*error*/}); 
media.play(); 

也许你会需要更改成功的回调是一个调用this.play();

+0

如果你想映射特定的文件到特定的单词我建议使用对象/集合数组。 var wordlist1 = [{word:“Aggressive”,file:“1.mp3”},{word:“Aggressive”,file:“2.mp3”}] var randomNumber = Math.floor(Math.random ()* wordlist1.length); var displayword1 = wordlist1 [randomNumber] .word; var soundToPlay = wordlist1 [randomNumber] .file; ();/* * */* *}};}};}} media.play(); – 2014-10-02 14:14:39

+0

感谢您的回复。尽管你的答案看起来像是可以工作的,但出于某种原因,它并不是为我播放声音。任何想法为什么? :/ – MrBalrog 2014-10-03 10:41:57

+0

你有一个控制台调试吗? 文件路径是否正确?当你放置一个远程URL时会发生什么? – 2014-10-04 12:43:35