為了改善您的使用體驗,本網站正在進行維護,部分功能暫時無法使用。若本站的文件無法解決您的問題,想要向社群發問的話,請到 Twitter 上的 @FirefoxSupport 或 Reddit 上的 /r/firefox 發問,我們的社群成員將很快會回覆您的疑問。

搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

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.