首頁

flashSound 是一個簡單的 jQuery plugin, 使用瀏覽器的 flash plugin 播放 mp3 音效。

Demo

下載

目前版本 flashSound-1.2.zip version 1.2 (2010-05-30)


使用方式

  1. 下載 flashSound.zip,解壓縮後會得到 flashSound.swfjquery.flashSound-1.2.min.js 兩個檔案,
    把它們連同 mp3 聲音檔、另外下載的 jquery.js 一起放到主機上的同一個資料夾。
  2. 在網頁的 head 區段引入它們,例如:
    <script type="text/javascript" src="jquery-1.4.2.js"></script>
    <script type="text/javascript" src="jquery.flashSound-1.2.min.js"></script>
  3. 然後就能使用 jQuery.flashSound 發聲了,標準用法:
    $.flashSound( 'foo.mp3', {id: 'se1'} );     // 讀取聲音檔(還不會播放),並將物件命名為 se1
    $.flashSound.play('se1');                   // 播放
    $.flashSound.play('se1', true);             // 播放,但先停止前一個播放的聲音
    $.flashSound.stop('se1');                   // 停止播放
    $.flashSound.remove('se1');                 // 移除 flash 物件
    

    或者:
    var se1 = $.flashSound( 'foo.mp3' );   // 讀取聲音檔
    se1.play();                            // 播放
    se1.play(true);                        // 播放,但先停止前一個播放的聲音
    se1.stop();                            // 停止播放
    se1.remove();                          // 移除 flash 物件
    // 請留意若在 se1 建立前呼叫 play, stop,會發生「物件沒有該方法」的錯誤。

    只有一種用法的功能:
    $.flashSound.enable();          // 全面啟用 flashSound
    $.flashSound.disable();         // 全面停用 flashSound
    $.flashSound.setEnabled(true);  // 設定是否啟用 flashSound
    $.flashSound.isEnabled();       // 檢驗 flashSound 是否已啟用
    $.flashSound.toggle();          // 全面開關 flashSound
    $.flashSound.toggle(true);      // 同 setEnabled(true)

選項

$.flashSound({ id: var, swf: var }) 完整選項說明如下:

名稱預設值用途
idnull用於 flash OBJECT 元素的 DOM id。
swf'flashSound.swf' flashSound.swf 影片檔的位置。

例:可以用 $.flashSound.defaults = {swf:'path/flashSound.swf'}; 更改預設的影片位置。

版本資訊

  • version 1.0 (2008-03-17)
  • version 1.1 (2009-02-24)
    • 新增 $.flashSound.toggle() 功能。
    • 細微修改嵌入影片的 <object>、<embed> 原始碼,以及 fla 原始碼。
  • version 1.2 (2010-05-30)
    • 修正暴露的全域變數(感謝 Frost Chao)。
    • 新增 setEnabledisEnabled 方法(感謝 Frost Chao)。

已知問題

  • 在 Firefox 3 上反應延遲(Flash 版本 10,0,12,36),暫且用 flashSound_AS2.swf(已包於壓縮檔內)代替 flashSound.swf 可改善 (例:將檔案 flashSound_AS2.swf 改名為 flashSound.swf 並取代之)。

附註

  • 內部使用 ActionScript 3.0 的 ExternalInterface 類別與 flashSound.swf 溝通。
  • 作者宣稱可以任意使用這個 plugin,不用擔心授權問題。
    若有疑慮歡迎來信 [email protected]