2016-07-24 8 views
-2

Wie man überlappenden Sound in Javascript erstellen, so dass ein Sound wird auch dann spielen, wenn der andere noch spielt? Ich habe diesen Code:Overlapping Sound Ich Javascript

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

und wenn etwas passiert:

audio.play(); 

Was muss ich tun, das zu tun?

+1

Ich verstehe Ihre Frage nicht. Was meinst du mit Überlappung? Können Sie Ihre Frage bearbeiten und erklären, was Sie vorhaben? – Xufox

+0

Was funktioniert nicht? Was ist das Problem? Wo versuchst du den zweiten Ton zu spielen? Du hast nur den Code gepostet, um einen Ton abzuspielen. – Xufox

+0

@Xufox Ich habe es getan. Ich hoffe das wird alles klären. – daniel098

Antwort

0

Wenn Sie ein Spiel erstellen, würde ich definitiv eine Sound-Bibliothek empfehlen. Zum Beispiel: SoundJS. Natürlich sind viele Spieleentwicklungsbibliotheken auch mit einem Soundmanagement ausgestattet.

Eine einfache reine JS-Lösung, könnte sein, den Sound so oft zu initialisieren, wie es sich überlappen kann, dann zu überprüfen, ob der Sound gerade N-mal spielt und den nächsten Sound initialisiert.

Beispiel:

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(); 
};