如何在html5中增加/减少音频文件的分贝值?

时间:2014-02-24 06:12:42

标签: javascript html5 audio cross-browser media-player

您好我正在尝试一个网络应用程序,我将运行音频文件。我想保留一个具有分贝(db)标度的滑动条。在上下移动滑动条时,db值会发生变化,音频文件必须根据该db值运行。

目前我正在使用html5中的标签通过媒体播放器在浏览器中运行音频文件。是否有任何默认函数或API用于我的目的,或者我需要读取声音文件并编写逻辑以更改db值。

我想在IE,chrome,safari和firefox上运行此功能。

请有人建议我采用什么方法来实现这一目标。

谢谢&问候, 希瓦。

1 个答案:

答案 0 :(得分:0)

见下面的编辑!

根据W3 ​​ - http://www.w3.org/html/wg/drafts/html/master/single-page.html#effective-media-volume - 可以很容易地做到这一点。

使用音频标签,例如:

<audio id="myAudio">
    <source src="audio.ogg" type="audio/ogg">
</audio>

使用JavaScript,您可以:

audio = document.getElementById("myAudio");
audio.volume = 0.5; //half of original value
//0 = nothing
//0.5 = half of maximum
//1 = full volume.

由于你想使用jQueryUI添加一个滑块,你可以添加一个带有一些slideStart / slideEnd事件的滑块,然后相应地设置音量。

我希望这有帮助;)

修改

再读一遍,你想要分贝音量,我意识到你想要的是不可能的。在HTML5中更改音频文件的分贝是非常困难的 - 如果不是不可能的话。这是因为:

  1. 原始文件的音量将始终具有不同的分贝,并且无法分辨文件中的分贝数量。
  2. 总有硬件限制,而且有一点你不能提高分贝。