为提升您的使用体验,本站正在维护,部分功能暂时无法使用。如果本站文章无法解决您的问题,您想要向社区提问的话,请到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 提问,我们的支持社区将会很快回复您的疑问。

搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

HTML5 Audio(), volume control does not work

  • 4 个回答
  • 12 人有此问题
  • 1 次查看
  • 最后回复者为 Juribiyan

more options

Hello,

I'm using firefox 26.0.

I'm making an app using the HTML5 Audio fonctionnality. First thing, I'm not using the <audio> tag from HTML5.

Here is a small part of my code :

var audio = new Audio(); audio.src = 'music/Vivaldi.mp3'; audio.controls = true; audio.autoplay = true; audio.volume = 1;

If I change the volume property, it works.

But, as soon as I use createMediaElementSource(audio) The "volume" property does not work (http://www.w3schools.com/tags/av_prop_volume.asp). If I change the value, nothing happen...


The weird thing is that it works perfectly on Chrome, Safari & even on IE...


Edit : It look like a known bug : https://bugzilla.mozilla.org/show_bug.cgi?id=944924

Hello, I'm using firefox 26.0. I'm making an app using the HTML5 Audio fonctionnality. First thing, I'm not using the <audio> tag from HTML5. Here is a small part of my code : var audio = new Audio(); audio.src = 'music/Vivaldi.mp3'; audio.controls = true; audio.autoplay = true; audio.volume = 1; If I change the volume property, it works. But, as soon as I use createMediaElementSource(audio) The "volume" property does not work (http://www.w3schools.com/tags/av_prop_volume.asp). If I change the value, nothing happen... The weird thing is that it works perfectly on Chrome, Safari & even on IE... Edit : It look like a known bug : https://bugzilla.mozilla.org/show_bug.cgi?id=944924

由TatsuKan于修改

被采纳的解决方案

Until the bug is fixed, you can control audio volume using GainNode (since you already use Web Audio API) as explained here: http://www.html5rocks.com/en/tutorials/webaudio/intro/#toc-volume Make sure the audio.volume is set to 1 before you create MediaElementSource. Now you can control a value of the gain node instead of audio.volume. However it won't change the representation of the native audio element.

定位到答案原位置 👍 1

所有回复 (4)

more options

Hi TatsuKan,

Thank you for contacting Mozilla support. From the looks of the code, compared to the "try it yourself" of the w3 schools you are using different elements.

The CreateMediaElementSource(audio) is a problem with the source of the video. Reference: http://stackoverflow.com/questions/20.../createmediaelementsource-method-of-web-audio-api-in-firefox

Do you have an example page where this is happening?

more options

Hi,

There is a link in my first message that describe exactly my problems, with 2 examples.

https://bugzilla.mozilla.org/show_bug.cgi?id=944924

more options

Currently it looks like this bug depends on a P1 bug, which is the highest priority. I have voted on this bug and recommend you check for updates on this issue on this bug and vote as well because it is affecting you. In the meantime we are happy to help find a work around.

Can you also check to see if this is still happening in Nightly on your computer? http://nightly.mozilla.org/

Does the audio load if you press past the 0:01 time on the video player?

We are very sorry for the inconvenience. If there are any other questions in the meantime please do not hesitate.

由guigs于修改

more options

选择的解决方案

Until the bug is fixed, you can control audio volume using GainNode (since you already use Web Audio API) as explained here: http://www.html5rocks.com/en/tutorials/webaudio/intro/#toc-volume Make sure the audio.volume is set to 1 before you create MediaElementSource. Now you can control a value of the gain node instead of audio.volume. However it won't change the representation of the native audio element.