有沒有辦法直接分析音頻標籤內容的輸出,並使用輸出?爲了更清楚一點,我想要做的是根據聲音的級別,使用音頻內容的聲級來使球彈跳更高或更低(使用html5畫布)。HTML5音頻 - 分析輸出?
例如,如果有像audioElement.getVolumeLevel()這樣的東西,它真的很方便,但我不知道這樣的事情是否存在。
此外,這個問題是專門關於使用音頻元素。我意識到其他方法,但我認爲這可能最適合我現在正在做的事情 - 如果存在一個簡單的解決方案,那麼我寧願不必將額外的庫帶入我的東西。
有沒有辦法直接分析音頻標籤內容的輸出,並使用輸出?爲了更清楚一點,我想要做的是根據聲音的級別,使用音頻內容的聲級來使球彈跳更高或更低(使用html5畫布)。HTML5音頻 - 分析輸出?
例如,如果有像audioElement.getVolumeLevel()這樣的東西,它真的很方便,但我不知道這樣的事情是否存在。
此外,這個問題是專門關於使用音頻元素。我意識到其他方法,但我認爲這可能最適合我現在正在做的事情 - 如果存在一個簡單的解決方案,那麼我寧願不必將額外的庫帶入我的東西。
在Firefox中,這是可能的,但它尚未標準化,據我所知(Chrome瀏覽器可能支持它):
https://wiki.mozilla.org/Audio_Data_API
的Webkit API建議:https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
而且屈指可數相關文章/演示:
http://ajaxian.com/by/topic/sound
http://ajaxian.com/archives/amazing-audio-api-javascript-demos
目前有三種不同的音頻API正在處理,所有不同的和在不同的瀏覽器工作。可悲的是,沒有什麼是標準化的,但它最終會到達那裏。
可以Firefox和Chrome會改變音量電平是這樣的:
var aud = document.getElementsByTagName('audio')[0]
aud.play()
aud.volume *= 0.5
調整音量返回復位電平,因此,例如,如果你想這樣的JS控制檯:
> aud.volume *= 0.5
0.015625
> aud.volume *= 0.5
0.0078125
> aud.volume *= 0.5
0.00390625
降低音量...... HTH。
我假設Firefox的東西只適用於Firefox,對不對?吮吸它不是標準化的。但是感謝您的有用資源。 – varatis
是的,一堆FF調用是'moz ....'前綴。從我所知道的情況來看,我提出的API提案是提議的標準,但我不確定FF是否支持它:)在這種情況下,真正令人討厭的是它們是完全不同的API,不同於許多其他的東西真正的區別在於'moz ...'和'webkit ...'前綴 –