目前我设计的Tizen Web应用程序(游戏),我想:播放音频一段时间,另一个声音结束后,同时在for循环
- 显示图像
- 播放音频剪辑(大约15-17秒长)
- 什么都不做,持续5秒
- 另一个播放音频剪辑(约2-3秒)
- 隐藏图像
这些步骤将按顺序循环执行(N次)。但是,当我在模拟器上运行我的应用程序时,它将同时播放步骤2中播放的所有声音,同时图像永远不可见。
以下是我的javascript功能:
function performTask(image, audioName) { //sending id for image and audio, e.g.: performTask("img1", "aud1")
// Show the image
img = document.getElementById(image);
if (img && img.style) {
img.style.height = screen.height;
img.style.width = screen.width;
img.style.visibility = "visible";
} else {
console.log("exercise(): error in setting image");
}
// play the audio
try {
myAudio = document.getElementById(audioName);
myAudio.play();
myAudio.onended = function() {
timeOut();
};
} catch (error) {
console.error("exercise(): " + error.message);
}
// after 30 seconds, ring the bell!!
try {
console.log("playing bell");
document.getElementById("bell").play();
} catch (error) {
console.error("bell: " + error.message);
}
//hide image
img.style.visibility = "hidden";
}
超时()函数:
...
<body onload="someFunc()"> <!-- this calls performTask() in a for-loop-->
<p>
<img src='images/image1.png' alt="pose1n12" id="img1" />
.... 10 more such images
</p>
<p>
<audio id="bell">
<source src='audio/bell.mp3' type="audio/mpeg" />
</audio>
<audio id="aud1">
<source src='audio/aud1.mp3' type="audio/mpeg" />
</audio>
.... 10 more such clips
</p>
编辑:
var timer = 5000;
function timeOut() {
if (timer > 0) {
setTimeout(timeOut(), timer--);
}
}
哪里这就是所谓的HTML页面的结构:添加someFunc的定义()
function someFunc() {
var a;
image = ''; // select image at particular count
audioName = ''; // select respective audio
for (a = 1; a <= 12; a++) { // the asana tracker loop
switch (a) { // assigns image & audio
case 1:
image = "img1n12";
audioName = "1N12";
break;
...... continues till case 12
}
}
performTask(image, audioName);
}
请帮忙。
设置的事件侦听器在音频完成'的document.getElementById(“钟”)的addEventListener(“结束”,函数(){//此处一些代码的改变src});'你可以有此运行一个函数或调用另一个函数。 – NewToJS 2015-03-03 12:22:33
@NewToJS较早试了一下,没有运气 – user2281204 2015-03-05 04:40:37
这样看来,你有你的问题,甚至复杂的事情扩大。一旦当前音频结束后,你不想知道如何播放另一个音频文件吗?我相信这是原来的问题... – NewToJS 2015-03-05 10:30:32