DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jquery控制背景音樂開關與自動播放提示音的方法教程
jquery控制背景音樂開關與自動播放提示音的方法教程
編輯:JQuery特效代碼     

本文實例講述了jquery控制背景音樂開關與自動播放提示音的方法。分享給大家供大家參考。具體如下:

很多人初學網頁制作時在網頁中加入一段背景音樂,聽到音樂響起的那一刻往往都會有一絲的成就感。

這裡就為大家講解如何使用js控制背景音樂播放與停止。具體如下:

一、jquery控制背景音樂開關
代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
    <script src="js/jquery.min.js"></script>
    <script type="text/javascript">
        //加載背景音樂,並自動播放
        $('#bg_music').append('<embed id="m_bg_music"  loop=true  volume="60" autostart=true hidden=true src="guoan.mp3" />');
        $('#bg_music_btn').click(function(){
            var state = $('#bg_music_btn').attr('state');
            if(state == '1')//
            {
                $('#bg_music_btn').attr('state','0');
                $('#bg_music_btn').html('打開背景音樂');
                $('#m_bg_music').remove();
            }else if(state == '0')
            {
                $('#bg_music_btn').attr('state','1');
                $('#m_bg_music').remove();
                $('#bg_music_btn').html('關閉背景音樂');
                $('#bg_music').append('<embed id="m_bg_music"  loop=true  volume="60" autostart=true hidden=true src="guoan.mp3" />');
            }
        });
    </script>
</head>
<body>
<!--控制播放-->
<div id="bg_music_btn" state='1'>關閉背景音樂</div>
<!--背景音樂-->
<div id="bg_music"></div>
</body>
</html>

以上介紹了jquery如何控制背景音樂開關的方法,接下來再進一步擴展。

二、JQuery自動播放提示音

最早對網站有自動提示音的功能,發現在Discuz論壇中出現。但是它有一個問題就是只支持flash,不支持HTML5,不明確最新版本中是否支持HTML5。
對於Discuz 7.2 版本中,提供了player.swf、pm_1.mp3、pm_2.mp3、pm_3.mp3,然後使用如下腳本來實現:
代碼如下:<div id="soundplayerlayer" style="position:absolute;top:-100000px"></div>
<script type="text/javascript" reload="1">
function soundplayer(file) {
    $('soundplayerlayer').innerHTML = AC_FL_RunContent('id', 'pmsoundplayer', 'name', 'pmsoundplayer', 'width', '0′, 'height', '0′, 'src', '{$boardurl}images/sound/player.swf', 'FlashVars', 'sFile={$boardurl}images/sound/pm_' + file + '.mp3′, 'menu', 'false',  'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true');
}
</script>
 
可惜這個方法局限在flash,在蘋果設備上可能就會遇到麻煩了。

HTML5開源播放器JPlayer支持自動播放提示音
JPlayer支持play事件觸發自動播放提示音。

1. 裝載JPlayer到一個div層,例如#jplayer。
代碼如下:$(function() {
    $("#jplayer").jPlayer({
      swfPath: "http://www.jplayer.org/latest/js/Jplayer.swf",
      ready: function () {
        $(this).jPlayer("setMedia", {
          mp3: "./resources/message.mp3"
        });
      },
      supplied: "mp3"
    });
});
body部分加入:<div id="jplayer"></div>

裝載JQuery完成後,jplayer的div內容在支持swf的浏覽器內變成:
 
代碼如下:<div id="jplayer" style="width: 0px; height: 0px;"><img id="jp_poster_0" style="width: 0px; height: 0px; display: none;"><object height="1" width="1" id="jp_flash_0" data="http://www.jplayer.org/latest/js/Jplayer.swf" type="application/x-shockwave-flash" style="width: 0px; height: 0px;"><param name="flashvars" value="jQuery=jQuery&id=jplayer&vol=0.8&muted=false"><param name="allowscriptaccess" value="always"><param name="bgcolor" value="#000000"><param name="wmode" value="opaque"></object></div>

在支持HTML5的浏覽器內變成:
 
代碼如下:<div id="jplayer" style="width: 0px; height: 0px;"><img id="jp_poster_0" style="width: 0px; height: 0px; display: none;"><audio id="jp_audio_0" preload="metadata" src="./resources/message.mp3"></audio></div>

完成裝載後就是觸發播放的事件了。

2. 觸發播放提示音事件
 
代碼如下:$("#jplayer").jPlayer('play');

3. 循環播放函數,每5秒播放一次提示音
 
代碼如下:function PlaySound() {
    $("#jplayer").jPlayer('play');
    setInterval("PlaySound()", 5000);
    return true;
}

附錄:

1. 解決無法自動播放提示音的問題

如果在加載JQplayer後,立刻運行播放的觸發事件,沒有任何效果!具體是什麼原因我也不太清楚,估計是因為音頻文件沒有加載上。

2. 解決方法是讓觸發事件等待5秒中執行。
代碼如下:setTimeout("$('#jplayer').jPlayer('play')", 5000);

加載完頁面,5秒後自動播放提示音。

希望本文所述對大家的jquery程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved