2011-03-19 83 views
6

我已經使用javascript和html5編寫了自己的媒體播放器界面。目前我的音量滑塊映射到瀏覽器的音量屬性1:1。我很想調整它以計入perceived loudnessHTMLMediaElement的非線性體積

volume attribute section of the html5 specs說:

... 0.0保持沉默,和1.0是最大音量設置,在響度增加之間的值。該範圍不需要是線性的。

這似乎暗示了什麼樣的縮放瀏覽器應該使用什麼標準。我擔心,如果我在一個瀏覽器中調整感知響度,另一個瀏覽器可能已經這樣做,導致過度修正。

有誰知道瀏覽器目前使用的音量大小,以及這些音量在未來是否會發生變化?

回答

1

假設您無法直接獲取每個瀏覽器的信息,我會建議開發一套經驗性測試。另一方面,我無法想象瀏覽器供應商使用對數線性以外的其他任何東西,因此在測試中只留下兩個結果。一旦創建了測試流程,只要發佈新的瀏覽器版本,就可以重新使用它。對於測試本身,它們可能是由你自己的感知(測試100%對50%的響度,以及50%的響度實際上聽起來是響亮一半還是僅響75%);或者他們可以通過錄制聲卡上的「你聽到的聲音」通道,並在自定義應用程序或工具中分析波形,這次如果是簡單的線性或大於1的話,此時會尋找(峯值)振幅的.5下降。如果對數下降5。如果構建您自己的分析工具,假設您對C/C++/C#/ et.al感到滿意,那麼PCM波形數據不會太難處理。

+0

我不是特別喜歡的一件事就是不得不存儲一個列表如何特定的瀏覽器版本的行爲。列表中總是會出現一些不明顯的瀏覽器。 但是,你給了我一個想法。如果我在JavaScript中創建了一個手動感知測試,那麼個人用戶不僅可以對其瀏覽器進行校準,還可以對其自己的聲音進行校準。 – lucas 2011-03-26 00:32:29