微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

利用jQuery设计一个简单的web音乐播放器的实例分享

一、准备数据库

  首先,我们设计MysqL数据库如下:

rush:sql;"> CREATE TABLE `songs` ( `song_id` int(11) NOT NULL AUTO_INCREMENT,`url` varchar(500) NOT NULL,`artist` varchar(250) NOT NULL,`title` varchar(250) NOT NULL,PRIMARY KEY (`song_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

  这里,url字段表示是mp3音乐的存放地址,artist是歌曲的演唱者,title是歌曲的名称。我们再加入一些样例数据,如下:

rush:sql;"> INSERT INTO `songs` (`song_id`,`url`,`artist`,`title`) VALUES ('','http://mysongs.com/songurl.mp3','Artist name','Song name'); INSERT INTO `songs` (`song_id`,'http://mysongs.com/anothersongurl.mp3','Another artist','Another song'); INSERT INTO `songs` (`song_id`,'http://mysongs.com/onemoresongurl.mp3','One more artist','One more song');

二、设计HTML页面

  在完成数据库的设计后,我们就可以开始设计HTML页面了。这里我们首先要下载jQuery的一个音乐播放插件jplayer(http://jplayer.org/)。把下载下来的包解压缩后,把js和skin两个文件夹的内容放到你的应用的根目录下,它们是要用到的javascript文件和CSS样式应用文件。现在可以开始设计HTML页了,把文件命名为demo.html,代码如下:

rush:xhtml;"> Online ra<a href="https://www.jb51.cc/tag/dio/" target="_blank" class="keywords">dio</a> using jQuery

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"&gt;
<script type="text/javascript" src="js/jquery.jplayer.min.js">

jplayer_1" class="jp-jplayer">

代码其实很简单,只是引入了jQuery和jplayer插件的必须要的文件和样式,然后设置好播放器的外观,这里都是通过DIV去预先定位指定所在的层,比如播放进度条,播放的按钮(开始/暂停),声音的控制大小等。

三、读取数据库中的曲目

  接下来,我们就可以从数据库中读取要播放的歌曲了,本文将采用ezsqlPHP开源库去连接数据库,当然你也可以用传统的MysqL连接方法。ezsql的具体用法我们就不再过多介绍了,这里使用其实很简单,把ez_sql_core.PHP和ez_sql_MysqL.PHP两个文件放到项目的根目录下即可,我们编写PHP文件如下,命名为getsong.PHP代码如下:

rush:PHP;"> if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){

include_once "ez_sql_core.php";
include_once "ez_sql_mysql.php";
$db = new ezSQL_mysql('db_user','db_password','db_name','db_host');

$song = $db->get_row("SELECT * FROM songs ORDER BY RAND() LIMIT 1");

$artist = $song->artist;
$songname = $song->title;
$url = $song->url;
$separator = '|';
echo $url.$separator.$artist.$separator.$songname;
}

?>

  这里,用rand()随机MysqL中取出一条记录(曲目),然后分别用变量保存其歌曲的名称,歌手名和地址,将它们用符号“|”连接起来。而因为我们要使用ajax去调用这个PHP,所以注意语句: if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')   主要的目的是防止用户在浏览器地址栏中只是输入比如http://www.yousite.com/getsong.PHP就能获得歌曲的URL地址,只允许是通过AJAX发出的请求才予以接受。

四、最终实现完善代码

  最后,我们可以修改jplayer的代码,让我们的播放器运行起来,修改demo.HTML代码如下:

rush:js;">   

  可以看到,在jplayer插件的ready方法中,发起了一个ajax请求,请求getsong.PHP,随机地获得一首播放的歌曲,然后对返回的数据重新用split方法分割“|”符号,其中得出的字符串数组string[0]即为mp3歌曲的URL地址,stringp[1]为歌手的名称,这里通过   $('#artist').html(string[1])显示出来, $('#songname').html(string[2])则显示出歌的名称。swfPath指定该播放器的FLASH所在的目录为js目录,当然你可以自己定义路径,supplied指出只支持MP3格式。   运行后,可以看到如下播放器的效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐