Google 크롬의 경우 :웹 오디오 API로 겹쳐진 wav 파일을 재생할 때 음량이 변경됨
하나의 .wav 파일이 재생되고 반복됩니다. 다른 .wav 파일은 사운드 효과로 때때로 재생됩니다.
사운드 효과가 재생되면 루핑 사운드의 볼륨이 자동으로 감소합니다. 음량은 약 15 초에 걸쳐 다시 점차 증가합니다.
는
내가 루프의 볼륨이 때 음향 효과 재생을 감소하고 싶지 않아 (I은 자동 http://en.wikipedia.org/wiki/Ducking을 끌어 들여 추측). 이 문제를 어떻게 방지 할 수 있습니까?
예 : http://www.matthewgatland.com/games/takedown/play/web/audiofail.html 소리가로드되면
window.AudioContext = window.AudioContext||window.webkitAudioContext;
var context = new AudioContext();
var play = function (buffer, loop) {
var source = context.createBufferSource();
source.buffer = buffer;
if (loop) source.loop = true;
source.connect(context.destination);
source.start(0);
};
var load = function (url, callback) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
callback(buffer);
}, null);
};
request.send();
};
var musicSound;
var thudSound;
load("res/snd/music0.wav", function (buffer) {
musicSound = buffer;
});
load("res/snd/thud0.wav", function (buffer) {
thudSound = buffer;
});
, 전화 :
play(musicSound, true); //start the music looping
//each time you call this, the music becomes quiet for a few seconds
play(thudSound, false);
이것은 Windows 7에서는 발생하지만 OS X에서는 발생하지 않습니다. –
나는 이것을 줄 것입니다. Windows의 몇 가지 다른 브라우저에서. Chrome Canary, Safari 및 Firefox 야간 빌드를 사용해보세요. 브라우저 버그 일 수 있습니다. 아니면 사운드 카드가 이상한 일을하고있을 수도 있습니다. 그러나 작성된 코드는 괜찮습니다. –
+1에 Kevin의 진술 - 귀하의 코드는 문제가 없으며 (모든 플랫폼에서) Chrome의 Web Audio 구현에는 자동 더킹이 없습니다. 자동 압축이 Windows의 사운드 장치에 적용되는 것 같습니다. (이 경우와 같이 일부 경우 글로벌 압축은 더킹과 비슷하게 들릴 수 있습니다.) – cwilso