【发布时间】:2014-12-17 03:54:34
【问题描述】:
我已经设置了一个随机幻灯片,它可以浏览许多图片。我想为每个片段添加一个简短的音频片段,并让它们与我用于随机图片的数组同步。下面是我所拥有的类似示例。我是 JavaScript 新手,我已经搜索了数百个地方以寻找答案,但似乎没有任何效果。请帮忙。谢谢。
更新。我可能没有说清楚。这就是我想要做的:我儿子喜欢动物。他患有自闭症,所以他不断地列出他的动物和关于它们的事情。我为他的电脑制作了一个幻灯片,里面有所有 500 张图片和关于它们的东西。它在一个屏幕上自动播放随机图像,他可以在另一个屏幕上手动浏览。他想用他们的名字和一些关于他们的东西录制简短的 5-10 秒音频。我希望能够将他的录音与图片相关联,并在每次图像更改时播放录音
addImages = new Array
addImages[0] = "one.bmp"
addImages[1] = "two.bmp"
addImages[2] = "three.bmp"
addImages[3] = "four.bmp"
addImages[4] = "five.bmp"
addImages[5] = "six.bmp"
addImages[6] = "seven.bmp"
imgCt = addImages.length
firstTime = true
addSound = new Array
addSound[0] = "tada.wav"
addSound[1] = "recycle.wav"
addSound[2] = "ringout.wav"
addSound[3] = "notify.wav"
addSound[4] = "tada.wav"
addSound[5] = "tada.wav"
addSound[6] = "tada.wav"
imgCt2 = addSound.length
function rotate()
{
if (document.images)
{
if (firstTime)
{
thisAdd = Math.floor((Math.random() * imgCt))
firstTime = false
}
else
{
thisAdd++
if (thisAdd == imgCt)
{
thisAdd = 0
}
}
document.myPicture.src=addImages[thisAdd]
setTimeout("rotate()", 3 * 1000)
}
}
【问题讨论】:
-
setTimeout的第一个参数可以是像setTimeout(rotate, 3 * 1000)这样的函数对象 -
我根本没有调查过你的实际问题,但我猜你打算做
addImages[0] = ...,而不是用addImages = ...反复破坏addImages(注意addImages.push(...)会节省你增加一个计数器的麻烦。) -
是的,我复制错了。我有它 addImages[0]、addImages[1] 等等,就像 addSound 一样。我希望他们可以同步。我使用推送更改为这里的内容,但现在我得到了空白框。
标签: javascript arrays html image html5-audio