cor*_*zza 8 javascript audio html5 html5-audio
在我正在制作的HTML5游戏中,当事物发生碰撞时,我会发出"砰"的声音.但是,这有点不切实际.无论物体的速度如何,它们总会产生相同的,响亮的"砰"声.我想做的是让声音的响度取决于速度,但我该怎么做?我只知道如何播放声音.
playSound = function(id)
{
sounds[id].play();
}
Run Code Online (Sandbox Code Playgroud)
sounds是一个充满了new Audio("url")'s 的数组.
您甚至可以试玩增益,并使音量播放超过100%。您可以使用此功能来放大声音:
function amplifyMedia(mediaElem, multiplier) {
var context = new (window.AudioContext || window.webkitAudioContext),
result = {
context: context,
source: context.createMediaElementSource(mediaElem),
gain: context.createGain(),
media: mediaElem,
amplify: function(multiplier) { result.gain.gain.value = multiplier; },
getAmpLevel: function() { return result.gain.gain.value; }
};
result.source.connect(result.gain);
result.gain.connect(context.destination);
result.amplify(multiplier);
return result;
}
Run Code Online (Sandbox Code Playgroud)
您可以执行以下操作将初始放大率设置为100%:
var amp = amplifyMedia(sounds[id], 1);
Run Code Online (Sandbox Code Playgroud)
然后,如果您需要声音大一倍,可以执行以下操作:
amp.amplify(2);
Run Code Online (Sandbox Code Playgroud)
如果要减半,可以执行以下操作:
amp.amplify(0.5);
Run Code Online (Sandbox Code Playgroud)
可以在此处找到该功能的完整说明:http : //cwestblog.com/2017/08/17/html5-getting-more-volume-from-the-web-audio-api/
| 归档时间: |
|
| 查看次数: |
28756 次 |
| 最近记录: |