2013-07-28 6 views
0

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); 
+1

이것은 Windows 7에서는 발생하지만 OS X에서는 발생하지 않습니다. –

+1

나는 이것을 줄 것입니다. Windows의 몇 가지 다른 브라우저에서. Chrome Canary, Safari 및 Firefox 야간 빌드를 사용해보세요. 브라우저 버그 일 수 있습니다. 아니면 사운드 카드가 이상한 일을하고있을 수도 있습니다. 그러나 작성된 코드는 괜찮습니다. –

+1

+1에 Kevin의 진술 - 귀하의 코드는 문제가 없으며 (모든 플랫폼에서) Chrome의 Web Audio 구현에는 자동 더킹이 없습니다. 자동 압축이 Windows의 사운드 장치에 적용되는 것 같습니다. (이 경우와 같이 일부 경우 글로벌 압축은 더킹과 비슷하게 들릴 수 있습니다.) – cwilso

답변

1

당신이 당신의 웹 사이트에이를 넣어 전에 약간의 사운드 디자인을 할 수도 있습니다. 나는 당신이 에디터를 위해 무엇을 사용하고 있는지 알지 못하지만, 모든 레벨이 원래의 루핑 사운드의 레벨에 가깝도록 사운드를 함께 편집하고 싶을 수도 있습니다. 그렇게하면 자동 이득 감소를 유발하는 수준의 차이가 극적으로 나타나지 않습니다. 두 소리의 조합이 너무 커서 두 소리의 음량이 클수록 부드러운 소리의 레벨이 낮아집니다. 따라서 만약 당신이 그들을 더 가깝게 가져 오면 게인 감소가 시작될 때 전체적인 차이가 급격하게 줄어들지 않아야합니다.

관련 문제