在加载网页时产生2个或更多短音

时间:2008-09-17 11:22:23

标签: html audio

我有6个声音文件(1.wav 2.wav等...),每次打开网页时都必须听到3个不同的声音文件。数字是随机选择的。 我尝试了多个“嵌入”,但只生成了最后选择的声音。 我也尝试过调整bgsound属性的javascript例程,但是,我一次无法产生多个声音。 声音需要在打开页面时自动播放,或者可以通过单击按钮或链接来触发,但是,只有一次单击是可接受的。 还有另一种方法吗?建议非常欢迎。

8 个答案:

答案 0 :(得分:6)

一个简单的Flash可以比其他任何东西做得更好。 但请注意,除非您为Intranet应用程序开发页面并且该功能是用户特别要求的,否则它很可能违反Web的最佳可用性实践。 大多数用户认为产生声音的页面非常分散,如果在页面加载时产生声音,则最有可能无法将其关闭。 如果您想在页面中嵌入一些声音,可以允许用户明确地打开它。

答案 1 :(得分:2)

如果我试图将声音添加到网页中,我会使用Flash,你可以嵌入一个没有宽度或高度的flash文档,这样它就会看不见但仍会播放噪音。

答案 2 :(得分:2)

查看Sound Manager 2可用于播放声音的隐形Flash电影。它允许您加载和播放多个声音。

要做你想要完成的事情,我会将wav文件重新编码为mp3(这样它们下载速度更快,Sound Manager可以播放它们)。然后使用javascript让声音管理器创建声音并以随机顺序播放它们。你可以听到每个声音的onfinish事件,开始播放下一个声音。

答案 3 :(得分:1)

我有个好主意:不要

我讨厌在没有告诉他们的情况下播放声音的网站。我使用多标签浏览器和多任务操作系统,你无法控制我的电脑,所以不要以为你可以播放声音而不干扰我正在做的其他事情。

答案 4 :(得分:1)

如果您不反对使用JavaScript框架播放声音scriptaculous提供播放声音的API。

http://github.com/madrobby/scriptaculous/wikis/sound

答案 5 :(得分:0)

浏览器会将页面加载分成多个项目,因此可能会使用多个线程一次加载所有声音。我认为你想要完成的事情是不可能的。

答案 6 :(得分:0)

我知道这有点过分,但组合的数量并不过分。如果您将wav文件预先混合到一系列文件中,只需将它们命名如下

1_2_3, 1_2_3, 1_2_5, 1_2_6 
1_3_4, 1_3_5, 1_3_6
1_4_5, 1_4_6
2_3_4, 2_3_5, 2_3_6, 
2_4_5, 2_4_6,
2_5_6
3_4_5, 3_4_6,
3_5_6,
4_5_6

(幸运的是没有太多组合)

然后只要你这样做:

   $n = [ randomnumber , randomnumber , randomnumber ]; 
   $n = sort $n; 
   file = "$n[0]_$n[1]_$n[2].wav"   

应该让它运作起来。

注意到许多人反对声音,并且取决于你使用什么技术来播放它可能/可能不适用于所有人,但这可能是我们应该让浏览器强制执行的功能,因为有些人喜欢能够听到声音(令人震惊,但确实如此)。

答案 7 :(得分:0)

添加声音 - HTML课程 HTML音乐/媒体代码 - 声音 http://html-lesson.blogspot.com/2008/06/music-media-code-sound.html