sound nur abspielen, wenn er nicht läuft

feiste

Bekanntes Mitglied
Hallo,
habe folgende Sound Klasse:

Java:
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
//import javax.swing.*;
//import javax.swing.JOptionPane;

public class SOUND {
 
    public AudioClip song; // Sound player
    public URL songPath; // Sound path
AudioInputStream audioInputStream;
   
 
    public SOUND(String filename) {
        songPath = getClass().getResource(filename); // Get the Sound URL
        song = Applet.newAudioClip(songPath); // Load the Sound
        //JOptionPane.showMessageDialog(null,"Pfad: "+songPath.toString());
        
        
      
}
 
    public void playSound() {
        song.loop(); // Play
    }
 
    public void stopSound() {
        song.stop(); // Stop
    }
 
    public void playSoundOnce() {
        song.play(); // Play only once
    }
}

Wenn man auf "M" klickt soll er den Sound "schuss" einmal abspielen.
Das funktioniert auch.
Nur wenn man jetzt die Taste "M" gedrückt hält
wird der Sound ständig neu abgespielt.
Wie kann ich sagen, dass der Sound schuss nur neu abgespielt werden soll,
wenn der sound schuss nicht mehr läuft.


Java:
 if(keystate.IsPressed("M"))
        {
            
           schuss.playSoundOnce();
}

Danke für eure Hilfe =)
 
versteh ich jetzt nicht wie das gehen sollte.

meinst du so:

Java:
boolean a;

if(keystate.IsPressed("M") && a == false)
        {
            a = true;
           schuss.playSoundOnce();
           a = false;
}

das funktioniert nämlich nicht !
 
Java:
private boolean playntSound;

public void keyPressed(KeyEvent arg0)
{
	if(keystate.IsPressed("M") && !playntSound)
	{
		playntSound = true;
		schuss.playSoundOnce();
	}
}
public void keyReleased(KeyEvent arg0)
{
	playntSound = false;
}
 

Neue Themen


Zurück
Oben