最近想在博客的NBA专栏添加一个功能,那就是背景音乐。如果每次进入页面的时候都播放相同的音乐,次数多了就腻了,所以就想整个随机播放的。网上看了下相关的教程,都是用JS写的。由于JS的加载进度会影响整个网页的加载速度,所以放弃了JS,那就用PHP来解决吧。另外,所用到的music.swf文件已经放到博客的百度网盘里面了,大家可以下载来试试看。
不多说,直接上代码。需要注意的是:这段网页随机音乐自动播放器代码,也可以用在除了Wordpress程序外的其它PHP系统。功能当然是先能够随机加载多首歌曲,然后随机播放,其次是类似于背景音乐的自动播放功能。具体大家可以在博客首页右上侧点击博客的“NBA”专栏,然后随便进入一个图片集就有“视听效果”了。另外,代码中只选择了4个skydrive的MP3外链文件,数量可以自己决定;对于随机排序的话,大家也可以自由排序组合,例如可以通过增加一个else if来丰富随机播放。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 | <?php
/* Create function vfhky_music()
* @Autor:vfhky
* @Para:$autostart(defaultl:yes)
* @Created:20130727
* @Modified:20131027 14:40
* @Thanks:@stelos
*/
function vfhky_music($autostart='yes'){
$random = intval(mt_rand(1,4));
$random_1 = "http://storage.live.com/items/4054252DDEB2E987!268?a.mp3";
$random_2 = "http://storage.live.com/items/4054252DDEB2E987!266?a.mp3";
$random_3 = "http://storage.live.com/items/4054252DDEB2E987!265?a.mp3";
$random_4 = "http://storage.live.com/items/4054252DDEB2E987!267?a.mp3";
if ($random == 1){//3,1,2,4
$content = "$random_3|$random_1|$random_2|$random_4";
}else if($random == 2){//1,4,3,2
$content = "$random_1|$random_4|$random_3|$random_2";
}else if($random == 3){//2,3,4,1
$content = "$random_2|$random_3|$random_4|$random_1";
}else {//4,2,1,3
$content = "$random_4|$random_2|$random_1|$random_3";
}
return '<embed src="'.get_bloginfo("template_url").'/music.swf" flashvars="mp3='.$content.'&autostart='.$autostart.'" type="application/x-shockwave-flash" wmode="transparent" width="240" height="20"></embed>';
}
?>
|
上面的函数可以放在公共页面中,例如wordpress程序中的functions.php,然后在其它页面调用即可。通过控制形参$autostart的值来决定播放器是否自动播放。
1
2
3
4
5
6
7
8
9
10
11
12
13 | <?php
/* Call function vfhky_music()
* @Para:$autostart(defaultl:yes)
* @Description: music player in web using php
*/
//this two forms below will be played automatically
echo vfhky_music();
echo vfhky_music('yes') ;
//this will not be played automatically
echo vfhky_music('no');
?>
|
Comments »