2016-07-24 3 views
-2

자바 스크립트에서 오버랩 사운드를 생성하는 방법, 다른 하나가 여전히 재생 중일 때도 한 사운드가 재생됩니까? 그 코드가 있습니다중복 사운드 i 자바 스크립트

var audio = new Audio("boom.wav"); 

을하고 일이 발생했을 때 :

audio.play(); 

나는 그렇게 무엇을해야 하는가?

+1

나는 당신의 질문을 이해하지 않습니다. 겹치는 것의 의미는 무엇입니까? 질문을 편집하고 할 일을 명확히 할 수 있습니까? – Xufox

+0

작동하지 않는 기능은 무엇입니까? 문제가 무엇입니까? 두 번째 소리를 어디에서 연주하려고합니까? 한 사운드를 재생하는 코드 만 게시했습니다. – Xufox

+0

@Xufox 내가 해냈어. 모든 것이 명확 해지기를 바랍니다. – daniel098

답변

0

게임을 만드는 경우 사운드 라이브러리를 사용하는 것이 좋습니다. 예 : SoundJS. 물론 많은 게임 개발 라이브러리에도 사운드 관리 기능이 제공됩니다.

단순한 순수 JS 솔루션은 겹칠 수있는만큼 소리를 초기화 한 다음 사운드가 현재 N 번 재생되고 다음 사운드가 초기화되었는지 확인할 수 있습니다.

예 :

GAMEOBJECT._audio = [ 
    new Audio('assets/snd/slide.wav'), 
    new Audio('assets/snd/slide.wav'), 
    new Audio('assets/snd/drink.wav'), 
    new Audio('assets/snd/drink.wav') 
]; 
GAMEOBJECT._audio[0].pair = GAMEOBJECT._audio[1]; 
GAMEOBJECT._audio[2].pair = GAMEOBJECT._audio[3]; 

Audio.prototype.isPlaying = function() {return !this.paused;}; 
Audio.prototype.playSound = function() { 
    if (this.isPlaying()) { 
     this.pair.play(); 
    } 
    this.play(); 
}; 
관련 문제