随机背景音乐循环PHP

时间:2014-01-16 23:12:44

标签: php

在特定的网站上我目前有一个脚本,可以随机播放每次访问网站时播放的背景音乐。它从声音文件夹中随机抓取文件并播放。一切都很好。

PHP

$songs = glob('snd/*.*');

HTML

<embed src="swf/player.swf" id="radioplayer" name="radioplayer" quality="medium" allowScriptAccess="always" width="1" height="1" type="application/x-shockwave-flash" FlashVars="file=<?php echo $song; ?>&volume=10&start=0&duration=0&autostart=true&controlbar=none&dock=false&icons=false&loop=1">

但是,我想再扩展一下。

它用作游戏服务器的加载屏幕,需要将自定义文件下载到客户端。一旦歌曲结束,它只是沉默。我想知道:当歌曲结束时,是否有可能随机选择一首新歌,就像它是第一次一样,然后播放?唯一的问题是,即使我希望选择是随机的,我也不希望它播放刚播放的歌曲。

希望这是可能的,并提前感谢。

注意

正如您所见,它使用Flash播放器播放歌曲。如果这不是一个可行的方法来播放我上面的请求,我欢迎使用替代方法,只要我可以控制播放音频的音量。

修改

为了尝试一举两得,网页的背景图片也会根据服务器当前使用的地图而改变。我添加的每个地图都没有图像,因为我总是添加更多的图像,是否可以将背景设置为默认图像而不是空白?

1 个答案:

答案 0 :(得分:1)

我在javacript中这样做,您可以将歌曲添加为创建Audio对象的字符串!
    实施例

 var titleTheme = new Audio("PUT_RANDOM_SONG_HERE");

真实世界
魔法和你正在寻找的是为事件添加一个事件监听器&#34;结束&#34;。

var titleTheme = new Audio("AUDIO/tmnt.mp3");

//Start up with this
titleTheme.play();

// Events _________________________________________________ 
// BIND TITLE THEME ENDED
titleTheme.addEventListener('ended',endings);
function endings()
{
 titleTheme.play();
}

要知道的事情,并非所有浏览器都播放所有文件格式。因此,您必须能够根据浏览器提供音频。