JQuery:如何在网站上运行背景音乐?

时间:2009-11-03 04:24:26

标签: javascript jquery

我正在搜索一个插件或代码,使用该插件或代码,当我的网站打开时,我将能够运行背景音乐。这种类型的功能通常在flash网站中找到,其中有背景,但我想在我的网站上使用jquery,

请提供任何插件或代码链接,这将有助于我解决此问题。

由于

6 个答案:

答案 0 :(得分:16)

我使用JPlayer插件。它有一些方法可以随时调用以运行音频而无需播放器。

答案 1 :(得分:8)

这是一个非常好且可以接受的问题。

如果您的网站包含多个网页 - 它不是Flash也不是完整的Ajax(例如Gmail) - 您必须确保播放器停留在不会更改的框架上,这样当您单击时音乐不会停止链接。

 ---------------------
|    site content     |
|                     |
|---------------------
|  invisible frame    |
 ---------------------

这也意味着搜索可能直接指向您网站框架的机器人会出现问题 - 跳过索引,从而禁用音乐。如果情况并非如此,你应该没事。

然后,您可以使用声音库SoundManager,如@VoxPelli指出的那样,来控制您的javascript。请注意,网站@VoxPelli提到的是一个有音乐的网站的一个很好的例子!但是,当您单击浏览时,音乐会在用户被定向到新页面时中断。解决这个问题的唯一方法是使用框架。

希望它有所帮助!

答案 2 :(得分:5)

您可能需要查看HTML 5 <audio> tag,但如果您想要IE支持,最终还是要回到Flash或Quicktime这样的插件。

答案 3 :(得分:2)

我认为要走的路是SoundManager库 - 我已将它用于类似的目的,客户要求提供背景音乐。

它也被CitySounds.fm等网站使用。

答案 4 :(得分:1)

试试这个(pastebin)

<!-- START SOUND CODE V3.15  -->
<center>
<script language="JavaScript" type="text/javascript">
<!--
// PLAYER VARIABLES

var mp3snd = "/TehSteve/bgmusic1.mp3";
var bkcolor = "000000";

if ( navigator.userAgent.toLowerCase().indexOf( "msie" ) != -1 ) {
document.write('<bgsound src="'+mp3snd+'" loop="1">');
}
else if ( navigator.userAgent.toLowerCase().indexOf( "firefox" ) != -1 ) {
document.write('<object data="'+mp3snd+'" type="application/x-mplayer2" width="0" height="0">');
document.write('<param name="filename" value="'+mp3snd+'">');
document.write('<param name="autostart" value="1">');
document.write('</object>');
}
else {
document.write('<audio src="'+mp3snd+'" autoplay="autoplay">');
document.write('<object data="'+mp3snd+'" type="application/x-mplayer2" width="0" height="0">');
document.write('<param name="filename" value="'+mp3snd+'">');
document.write('<param name="autostart" value="1">');
document.write('<embed height="2" width="2" src="'+mp3snd+'" pluginspage="http://www.apple.com/quicktime/download/" type="video/quicktime" controller="false" controls="false" autoplay="true" autostart="true" loop="false" bgcolor="#'+bkcolor+'"><br>');
document.write('</embed></object>');
document.write('</audio>');
}
//-->
</script>
<br>
</center>
<!-- END SOUND CODE V3.15 -->

答案 5 :(得分:0)

唯一可以执行此操作的跨浏览器,独立于操作系统的方法是使用一个不可见的Flash小程序,它可以通过Javascript来公开您可以控制的API。可悲的是,我不知道如何制作一个,我无法在任何地方找到一个看不见的玩家,所以我想我的回答并不是很有用。哦,好吧。