TypeCodes

PHP版网页随机音乐自动播放器(Wordpress通用)

最近想在博客的NBA专栏添加一个功能,那就是背景音乐。如果每次进入页面的时候都播放相同的音乐,次数多了就腻了,所以就想整个随机播放的。网上看了下相关的教程,都是用JS写的。由于JS的加载进度会影响整个网页的加载速度,所以放弃了JS,那就用PHP来解决吧。另外,所用到的music.swf文件已经放到博客的百度网盘里面了,大家可以下载来试试看。

PHP版网页随机音乐自动播放器

不多说,直接上代码。需要注意的是:这段网页随机音乐自动播放器代码,也可以用在除了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 »