2011-03-19 81 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