茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    利用jQuery設(shè)計(jì)一個(gè)簡(jiǎn)單的web音樂播放器的實(shí)例分享
    來源:易賢網(wǎng) 閱讀:1077 次 日期:2016-07-21 15:39:26
    溫馨提示:易賢網(wǎng)小編為您整理了“利用jQuery設(shè)計(jì)一個(gè)簡(jiǎn)單的web音樂播放器的實(shí)例分享”,方便廣大網(wǎng)友查閱!

    這篇文章主要介紹了利用jQuery設(shè)計(jì)一個(gè)簡(jiǎn)單的web音樂播放器的實(shí)例分享,包括PHP后臺(tái)和從MySQL中讀取曲目等基本功能的實(shí)現(xiàn),需要的朋友可以參考下

    一、準(zhǔn)備數(shù)據(jù)庫

    首先,我們?cè)O(shè)計(jì)MYSQL數(shù)據(jù)庫如下:

    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是歌曲的名稱。我們?cè)偌尤胍恍永龜?shù)據(jù),如下:

    INSERT INTO `songs` (`song_id`, `url`, `artist`, `title`) VALUES ('', 'http://mysongs.com/songurl.mp3', 'Artist name', 'Song name');

    INSERT INTO `songs` (`song_id`, `url`, `artist`, `title`) VALUES ('', 'http://mysongs.com/anothersongurl.mp3', 'Another artist', 'Another song');

    INSERT INTO `songs` (`song_id`, `url`, `artist`, `title`) VALUES ('', 'http://mysongs.com/onemoresongurl.mp3', 'One more artist', 'One more song');

    二、設(shè)計(jì)HTML頁面

    在完成數(shù)據(jù)庫的設(shè)計(jì)后,我們就可以開始設(shè)計(jì)HTML頁面了。這里我們首先要下載jQuery的一個(gè)音樂播放插件jPlayer(http://jplayer.org/)。把下載下來的包解壓縮后,把js和skin兩個(gè)文件夾的內(nèi)容放到你的應(yīng)用的根目錄下,它們是要用到的javascript文件和CSS樣式應(yīng)用文件?,F(xiàn)在可以開始設(shè)計(jì)HTML頁了,把文件命名為demo.html,代碼如下:

    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>

    <html xmlns='http://www.w3.org/1999/xhtml' lang='en' xml:lang='en'>

    <head>

      <title>Online radio using jQuery</title>

      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

      <link href="skin/jplayer.blue.monday.css" rel="stylesheet" type="text/css" />

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

      <script type="text/javascript" src="js/jquery.jplayer.min.js"></script>

    </head>

    <body>

      <div id="jquery_jplayer_1" class="jp-jplayer"></div>

        <div class="jp-audio">

          <div class="jp-type-single">

            <div id="jp_interface_1" class="jp-interface">

              <ul class="jp-controls">

                <li><a href="#" class="jp-play" tabindex="1">play</a></li>

                <li><a href="#" class="jp-pause" tabindex="1">pause</a></li>

                <li><a href="#" class="jp-stop" tabindex="1">stop</a></li>

                <li><a href="#" class="jp-mute" tabindex="1">mute</a></li>

                <li><a href="#" class="jp-unmute" tabindex="1">unmute</a></li>

              </ul>

              <div class="jp-progress">

                <div class="jp-seek-bar">

                  <div class="jp-play-bar"></div>

                </div>

              </div>

              <div class="jp-volume-bar">

                <div class="jp-volume-bar-value"></div>

              </div>

              <div class="jp-current-time"></div>

              <div class="jp-duration"></div>

            </div>

            <div id="jp_playlist_1" class="jp-playlist">

              <ul>

                <li><strong id="artist">Artist</strong> - <span id="songname">Song name</span></li>

              </ul>

            </div>

          </div>

        </div>

      </div>

    </body>

    </html>

    以上代碼其實(shí)很簡(jiǎn)單,只是引入了jQuery和jPlayer插件的必須要的文件和樣式,然后設(shè)置好播放器的外觀,這里都是通過DIV去預(yù)先定位指定所在的層,比如播放進(jìn)度條,播放的按鈕(開始/暫停),聲音的控制大小等。

    三、讀取數(shù)據(jù)庫中的曲目

    接下來,我們就可以從數(shù)據(jù)庫中讀取要播放的歌曲了,本文將采用ezSQL的PHP開源庫去連接數(shù)據(jù)庫,當(dāng)然你也可以用傳統(tǒng)的MYSQL連接方法。ezSQL的具體用法我們就不再過多介紹了,這里使用其實(shí)很簡(jiǎn)單,把ez_sql_core.php和ez_sql_mysql.php兩個(gè)文件放到項(xiàng)目的根目錄下即可,我們編寫php文件如下,命名為getsong.php,代碼如下:

    <?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()隨機(jī)在MYSQL中取出一條記錄(曲目),然后分別用變量保存其歌曲的名稱,歌手名和地址,將它們用符號(hào)“|”連接起來。而因?yàn)槲覀円褂胊jax去調(diào)用這個(gè)PHP,所以注意語句:

    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')

    主要的目的是防止用戶在瀏覽器地址欄中只是輸入比如http://www.yousite.com/getsong.php就能獲得歌曲的URL地址,只允許是通過AJAX發(fā)出的請(qǐng)求才予以接受。

    四、最終實(shí)現(xiàn)完善代碼

    最后,我們可以修改jPlayer的代碼,讓我們的播放器運(yùn)行起來,修改demo.html代碼如下:

      <script type="text/javascript">

    //<![CDATA[

    $(document).ready(function(){

      $("#jquery_jplayer_1").jPlayer({

        ready: function () {

          var data = $.ajax({

           url: "getsong.php",

           async: false

           }).responseText;

          var string = data.split('|');

          $(this).jPlayer("setMedia", {

            mp3: string[0]

          }).jPlayer("play");

          $('#artist').html(string[1]);

          $('#songname').html(string[2]);

        },

        ended: function (event) {

          var data = $.ajax({

           url: "getsong.php",

           async: false

           }).responseText;

          var string = data.split('|');

          $(this).jPlayer("setMedia", {

            mp3: string[0]

          }).jPlayer("play");

          $('#artist').html(string[1]);

          $('#songname').html(string[2]);

        },

        swfPath: "js",

        supplied: "mp3"

      });

    });

    //]]>

    </script>

    可以看到,在jPlayer插件的ready方法中,發(fā)起了一個(gè)ajax請(qǐng)求,請(qǐng)求getsong.php, 隨機(jī)地獲得一首播放的歌曲,然后對(duì)返回的數(shù)據(jù)重新用split方法分割“|”符號(hào),其中得出的字符串?dāng)?shù)組string[0]即為mp3歌曲的URL地址,stringp[1]為歌手的名稱,這里通過

    $('#artist').html(string[1])顯示出來, $('#songname').html(string[2])則顯示出歌的名稱。swfPath指定該播放器的FLASH所在的目錄為js目錄,當(dāng)然你可以自己定義路徑,supplied指出只支持MP3格式。

    運(yùn)行后,可以看到如下播放器的效果:

    名單

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)