Noise icon
Noise: Firefox 附加元件

概要

Noise 是 Firefox 的附加元件,讓瀏覽器在事件發生時,發出對應的聲音。
例如擋下彈出視窗的時候,可以發出嗶聲,或其他你選擇的 .wav 音效。

請注意:這個網頁已經過時,Noise 在 Firefox 57 後整個重寫了。
未來所有的文件將以 github 和 AMO 上的說明為主。

預設可用的事件包括 視窗開啟、下載完成…… 等,
其實只要能以某些 observer/listener 捕捉的事件便有可能支援,詳情請見後述。

下載

最新版本放在 Noise :: Firefox 附加元件 Ver. 1.4 更新/版本記錄 | 相容於 Firefox 4.0 - 33.*

也有 git repository 在 GitHub: bootleq's Noise at master - GitHub


支援

任何意見、錯誤回報請利用 Google 論壇: Noise (Firefox Extension)
或直接寄信給 [email protected]

支援語言

此套件使用 BabelZilla 管理本地化檔案。
目前支援的語言包括: da-DKDansk de-DEDeutsch en-USEnglish (US) fr-FRFrançais he-ILעברית ja-JP日本語 pl-PLPolski pt-BRPortuguês (do Brasil) tr-TRTürkçe zh-CN中文 (简体) zh-TW中文 (繁體)


使用方式

安裝並重新啟動 Firefox 後,音效便可以回應事件了。
試試看按 Ctrl + F 在頁面中尋找文字,當多次尋找「下一筆」而搜尋至頁尾時,再找下一筆便會聽到「咚」的聲音。

接著你可以打開選項視窗,設定哪些事件要對應哪些音效。詳情可參考 設定

目前 Noise 安裝檔並未包含聲音檔案,所以預設只能發出「咚」的聲音。
這裡提供一些建議,希望你找到喜歡的音效:

設定

  1. 進入擴充套件管理員(工具 > 附加元件 > 擴充套件)找到 Noise
    點兩下滑鼠或按下選項以進入 Noise 選項
  2. 選項視窗包含核取方塊、表格、和一些按鈕,解釋如下:
    Noise Preference Window
    1. 啟用聲音:

      此選項將全域設定 Noise 的有效/無效。
      如果不勾選,Noise 就不會發出聲音(但有個例外,就是 Noise 編輯視窗仍會播放聲音以便測試。)
      提示:在瀏覽器視窗可以按「accel + alt + shift + N」快捷鍵來開關 Noise。

    2. 表格:

      這裡列出所有事件和相對應的聲音。

      • 連按兩下滑鼠,可以編輯項目。
      • 可以用拖曳的方式改變項目次序。
      • 可以用按 Enter 鍵編輯,按空白鍵則是啟用/停用一個項目。
      • 按右鍵可以顯示編輯用的選單,目前這是新增分隔線的唯一方法。
        選擇 新增副本 可以複製目前選取的項目。
        context menu
    3. 按鈕:

      • 新增、編輯、試聽、啟用、移除 可用來編輯表格項目。
      • 設定值支援 匯出/匯入/復原為預設值 等功能,設定檔是以 rdf 檔案儲存的。
        settings button
      • 確定、取消 按鈕沒有什麼特別,按下確定後,設定會立即生效。
    4. 事件導覽:

      「事件導覽」鏈結會開啟一個導覽視窗,裡面列出所有 Noise 預設的事件選項。
      如果你想找回某個預設選項,或者想知道新版本提供了什麼新功能,就來這兒瞧瞧吧:
      Events guide
      選取的項目會被加進 Noise 選項視窗。


  1. 在 Noise 選項視窗,在表格項目上按兩下便會開啟 Noise 編輯視窗。
    Edit window
    各欄位說明如下:
    1. 名稱

      這個項目的名稱。隨便改也沒關係。

    2. 事件

      根據不同的事件類型,需要填的值也不一樣,應該是 topicevent type,請參考「事件類型」說明。

      icon

      請留步!
      如果你對內部程式碼興趣不大,那麼可以不必往下看「事件類型」的說明,
      直接前往事件參考找出需要的值會比較方便。


      對於進階使用者(知道當機了能怎麼辦),可以使用「事件過濾」來進一步篩選想捕捉的事件:
      作法是在事件字串後加上 & 連接事件處理式,這樣就只有運算結果為 true 的時候,才會發出聲音了。
      例如 DOMContentLoaded&event.target.baseURI=='http://127.0.0.1/' 只會在讀取 http://127.0.0.1/ 網址的時候發出音效。
      more info 詳細說明請參考 事件過濾

    3. 事件類型

      Noise 以三種方式捕捉事件:
      Edit window

      • 事件主題

        有些事件藉由 nsIObserverServicenotifyObservers 來通知系統某個「事件主題(topic)」發生了,
        Noise 會產生 nsIObserver 來捕捉這些事件主題。
        所以這個「事件主題」(topic)字串就是需要填進空格的東西,例:domwindowclosed

      • 瀏覽器事件

        如果一個事件能夠以 gBrowser.addEventListener 捕捉的話,
        將這個事件的 event type 填入即可,例如 clickcopyTabOpen 等。

      • 視窗事件

        同上,但改為以 window.addEventListener 捕捉事件。

    4. 聲音檔案

      要播放的聲音檔案,接受以下格式的字串:

      • beep

        直接輸入 beep 就會播放系統預設的嗶聲。

      • 系統音效

        使用 event:aEventId(需要 Gecko 1.9.2 以上的版本)或 sys:soundAlias 可指定系統音效。
        例: event:EVENT_MENU_POPUP
        參考 aEventId

      • 本地端 wav 檔案

        按下「瀏覽...」並選取檔案便能得到這個字串,例如 C:\WINDOWS\Media\ding.wav

        你也可以使用相對路徑,配合一個主目錄來管理聲音檔。
        作法是啟用「使用聲音目錄」方塊,接著「瀏覽...」就會由指定的主目錄開始了,
        結果就是只需要 filename.wav 便能指定檔案,增加不少可攜性。

        註:一次只能使用一個主目錄,否則原本的相對路徑會找不到檔案。
        有此需要時,Noise 會先詢問是否要更改主目錄,請別見怪。

      • Chrome URL 格式的本地端 wav 檔案

        其實和本地端檔案一樣,只不過寫為 Chrome URL 的型式。
        在包裝自訂版本的 Noise 時可能有用…… 我也不確定。

    5. 試聽

      播放聲音聽聽看。即使 Noise 未啟用聲音,此按鈕仍不受影響。


已知問題

請利用 Google 網上論壇:Noise (Firefox Extension) 回報,感謝!

雜項

感謝!

  • 此套件初期大量參考了 nrlz 的附加元件 PopupSoundGomita 的附加元件 FireGestures
  • 在附加元件面板的「關於」對話框,可以看到其他的貢獻者。

解除安裝

  1. 在「工具 > 附加元件 > 擴充套件」選擇「移除」即可。
  2. 如果你真的很在乎沒砍乾淨,把以下設定清掉也沒關係。
  3. 進入 Profiles 資料夾,刪除 noise-mappings.rdf 檔案。這是你 事件/音效 表格的設定檔。
  4. 同樣在 Profiles 資料夾,刪除 noise 資料夾。這是預設用來放聲音檔案的地方。
  5. 從網址列進入 about:config,若有 extensions.noise.baseextensions.noise.enabledextensions.noise.version[email protected] 也可以刪。

替代方案

  • PopupSound 0.1.5 - 可設定 阻擋廣告視窗、點選鏈結、下載完成 音效。
  • Navigational Sounds 1.1.0 - 直接使用 Windows 系統音效配置。 可設定 點選鏈結、阻擋廣告視窗、系統通知 音效。