Töne abspielen auf verschiedenen Buttons

SheldoN

Mitglied
Hallo liebes Forum!

Ich habe 2 Buttons mit denen ich verschiedene .wav Dateien abspielen lassen will ( nach dem Klicken ).
Mein jetziger Quellcode sieht so aus:
Java:
public void init() {
       setLayout(new GridBagLayout());
       
       
       try {
           Nippel1 = newAudioClip(new URL(getCodeBase(),"/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippel_2.wav"));
       }
       catch(MalformedURLException e) {
          e.printStackTrace();
       }
       
       JButton playBtn = new JButton("Nippel1");
       playBtn.addActionListener(this);
       add(playBtn);
       
       try {
    	   Nippel2 = newAudioClip(new URL(getCodeBase(),"/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippelneu1_watt.wav"));
       }
       catch(MalformedURLException e)	{
    	   e.printStackTrace();
       }
    
       JButton playBtn2 = new JButton("Nippel2");
       playBtn2.addActionListener(this);
       add(playBtn2);
      }
 
	
	public void actionPerformed(ActionEvent e) {
				Nippel1.play();
				Nippel2.play();
	}
}

wenn ich nun auf einen der Buttons klicke werden beide Töne gleichzeitig gespielt...
wie kann ich das trennen ?

MfG
 

jgh

Top Contributor
so sollte man es bspw. lösen können...:

[java=29]
public void actionPerformed(ActionEvent e) {
if (e.getSource() == playBtn ) {
Nippel1.play();
} else if (e.getSource() == playBtn2 ) {
Nippel2.play();
}
}[/code]
 

Camill

Bekanntes Mitglied
Java:
e.getSource() == playBtn

Müsste man mit
Code:
equals()
vergleichen.
 

AmunRa

Gesperrter Benutzer
Du musst nur die beiden Buttons noch als Klassenvariablen schreiben und nicht als Lokale Variablen der init Methode


Edit: also so

Java:
private   JButton playBtn ;
private JButton playBtn2 ;
public void init() {
       setLayout(new GridBagLayout());
       
       
       try {
           Nippel1 = newAudioClip(new URL(getCodeBase(),"/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippel_2.wav"));
       }
       catch(MalformedURLException e) {
          e.printStackTrace();
       }
       
     playBtn= new JButton("Nippel1");
       playBtn.addActionListener(this);
       add(playBtn);
       
       try {
           Nippel2 = newAudioClip(new URL(getCodeBase(),"/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippelneu1_watt.wav"));
       }
       catch(MalformedURLException e)   {
           e.printStackTrace();
       }
    
        playBtn2 = new JButton("Nippel2");
       playBtn2.addActionListener(this);
       add(playBtn2);
      }

 public void actionPerformed(ActionEvent e) {
        if (e.getSource() == playBtn ) {
            Nippel1.play();
        } else if (e.getSource() == playBtn2 ) {
            Nippel2.play();
        }
    }
 

AmunRa

Gesperrter Benutzer
Zeig mal was du hast, und vor allem beschreibe was nicht geht? Setze den Debugger ein um herauszufinden, ob der Code auch ausgefuehrt wird, oder fuege zumindest einige System.out.println ein.
 
Zuletzt bearbeitet:

L-ectron-X

Gesperrter Benutzer
Probiers so:
Java:
    public void actionPerformed(ActionEvent e) {
        JButton source = (JButton)e.getSource();
        if (source == playBtn ) {
            Nippel1.play();
        } 
        else if (source == playBtn2 ) {
            Nippel2.play();
        }
    }

Und ändere den LayoutManager, sonst ist nur ein Button zu sehen. Zum Testen bspw. FlowLayout.
 

SheldoN

Mitglied
Also ich habe bis jetzt:
Java:
package test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.applet.*;
import java.awt.event.ActionListener;
public class SoundApplet extends JApplet implements ActionListener {
	
    private AudioClip Nippel1;
    private AudioClip Nippel2;
    private JButton playBtn;
	private JButton playBtn2;
    public void init() {
       setLayout(new FlowLayout());
    
       try {
           Nippel1 = newAudioClip(new URL(getCodeBase(),"/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippel_2.wav"));
       }
       catch(MalformedURLException e) {
          e.printStackTrace();
       }
       
       JButton playBtn = new JButton("Nippel1");
       playBtn.addActionListener(this);
       add(playBtn);
       
       try {
    	   Nippel2 = newAudioClip(new URL(getCodeBase(),"/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippelneu1_watt.wav"));
       }
       catch(MalformedURLException e)	{
    	   e.printStackTrace();
       }
    
       JButton playBtn2 = new JButton("Nippel2");
       playBtn2.addActionListener(this);
       add(playBtn2);
      }
 
	
	public void actionPerformed(ActionEvent e) {
		JButton source = (JButton)e.getSource();
        if (source == playBtn ) {
            Nippel1.play();
        } 
        else if (source == playBtn2 ) {
            Nippel2.play();
        }
	}
}
Mein Problem ist:
Wenn ich auf die Buttons klicke wird kein Sound abgespielt. Ich möchte mehrere Buttons einfügen die verschiedene .wav Dateien abspielen nach dem Klicken.

MfG
 

irgendjemand

Top Contributor
/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippel_2.wav

frage : sind das absolute pfade auf deiner platte ... oder ein relaiver-pfad zum code-base des web-roots ?

falls absolute pfad deiner platte : sollte eigentlich zu fehlern führen da entweder file nicht gefunden oder sicherheitsverletzung durch das applet weil versucht wird auf die hdd zuzugreifen

falls relativ-pfad zum web-root : ziemlich krank ...

egal ob 1) oder 2) : du solltest benötigte resourcen mit in dein JAR packen und diese zusammen ausliefern ... natürlich entsprechend den load-code anpassen ...
 

L-ectron-X

Gesperrter Benutzer
Da stimme ich irgendjemand zu.
Nach nochmaligem durchsehen des Codes fällt auf, dass die URL zur Wav-Datei niemals so stimmen kann.
getCodeBase() liefert den URL zum Speicherort des Applets. Und von dort ausgehend geht es im Moment bei dir weiter mit
Code:
/home/timo/workspace/Hallo2/NeuesNippelboard/nippelsounds/nippel_2.wav
.
Und das halte ich schlichtweg für unwahrscheinlich.

Eigentlich sollte in deiner Console eine NullPointerException oder IOException o.ä. auftauchen.
 

SheldoN

Mitglied
Hm nein da kommt nichts. Außerdem funktioniert es wenn ich in der actionPerformed Methode nur "Nippel1.play() schreibe.

[edit]Jetzt funktioniert es übrigens auch @AmunRa, vielen dank euch allen ^^[/edit]
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Töne Java Basics - Anfänger-Themen 4
K Musik abspielen Java Basics - Anfänger-Themen 4
S Youtube Video abspielen Java Basics - Anfänger-Themen 1
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
R Sound abspielen Java Basics - Anfänger-Themen 9
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
A wav-Datei abspielen Java Basics - Anfänger-Themen 3
J Java - Abspielen einer wav Datei Java Basics - Anfänger-Themen 2
P InputStream eines Musik-Streams abspielen Java Basics - Anfänger-Themen 2
Anfänger2011 Input/Output Sound abspielen - ICH VERZWEIFLE!!!! Java Basics - Anfänger-Themen 24
D Wave Datei mehrmals abspielen Java Basics - Anfänger-Themen 2
P Audio Datei abspielen Java Basics - Anfänger-Themen 18
S Vereinfacht Sounds abspielen?! Java Basics - Anfänger-Themen 3
T .wav abspielen Java Basics - Anfänger-Themen 8
P *.wav abspielen mit Anyexample Java Basics - Anfänger-Themen 3
D Sound abspielen, wo muss die .wav liegen Java Basics - Anfänger-Themen 3
2 Input/Output Sound aufnehmen/abspielen? Java Basics - Anfänger-Themen 2
Maxim6394 Problem beim Abspielen von Sounds Java Basics - Anfänger-Themen 8
SheldoN Sound abspielen nach Buttonklick in Applets Java Basics - Anfänger-Themen 17
F sound nur abspielen, wenn er nicht läuft Java Basics - Anfänger-Themen 6
B Problem beim Abspielen einer Videodatei Java Basics - Anfänger-Themen 4
B Tondatei abspielen Java Basics - Anfänger-Themen 11
H audio abspielen Java Basics - Anfänger-Themen 19
A Soundfile in java abspielen lassen Java Basics - Anfänger-Themen 7
Developer_X Sounds abspielen, die im internet sind (.wav) Java Basics - Anfänger-Themen 2
R WAV-Datei in textpane abspielen Java Basics - Anfänger-Themen 3
StrikeTom Fehler beim Audiodatei abspielen Java Basics - Anfänger-Themen 4
M sound abspielen Java Basics - Anfänger-Themen 3
M Volume beim Abspielen von Audio Dateien Java Basics - Anfänger-Themen 2
J VoiceChat Hilfe - Empfangene Pakete abspielen Java Basics - Anfänger-Themen 6
M Ton abspielen in einer gewissen Frequenz und lautstärke... Java Basics - Anfänger-Themen 3
C Sound abspielen Java Basics - Anfänger-Themen 6
G Video aus dem Internet abspielen Java Basics - Anfänger-Themen 6
R Probleme mit NullPointer beim Mp3 abspielen (JMF) Java Basics - Anfänger-Themen 21
S Midi-dateien Abspielen Java Basics - Anfänger-Themen 2
hdi Sounds abspielen Java Basics - Anfänger-Themen 12
K Animiertes Gif nur einmal abspielen Java Basics - Anfänger-Themen 3
X Audio: Abspielen eines OutputStreams Java Basics - Anfänger-Themen 4
S Ton mit festgelegter Frequenz abspielen Java Basics - Anfänger-Themen 2
B Kann Java Videos abspielen? Java Basics - Anfänger-Themen 2
M Sound Abspielen Java Basics - Anfänger-Themen 9
M strings rückwärts abspielen (schleife?) Java Basics - Anfänger-Themen 33
F mp3 File abspielen Java Basics - Anfänger-Themen 15
U Ton abspielen Java Basics - Anfänger-Themen 23
G Sound bei buttonklick abspielen Java Basics - Anfänger-Themen 7
B Sound einbinden und abspielen Java Basics - Anfänger-Themen 9
D JMF - Abspielen eines mpeg1-Videos Java Basics - Anfänger-Themen 15
E MP3s in Java abspielen Java Basics - Anfänger-Themen 2
G *.au Datei einbinden und abspielen Java Basics - Anfänger-Themen 4
F musik datei mit jmf abspielen Java Basics - Anfänger-Themen 5
D .wav Sound in einer simplen Applikation abspielen Java Basics - Anfänger-Themen 3
B Midi-File Abspielen Java Basics - Anfänger-Themen 14
T Filme ohne JMF abspielen Java Basics - Anfänger-Themen 7
D aufnehmen, abspielen und vergleichen von Sounds Java Basics - Anfänger-Themen 2
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
C Parameter in verschiedenen Anzahl und Typen Java Basics - Anfänger-Themen 6
I Verschiedenen WebApp kommunizieren lassen Java Basics - Anfänger-Themen 1
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
S Arraylist<Object> mit verschiedenen Objects ausgeben Java Basics - Anfänger-Themen 3
P Arrays mit verschiedenen Längen miteinander dividieren. Java Basics - Anfänger-Themen 1
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
A Methoden Array aus verschiedenen Methoden bearbeiten bzw. öffnen Java Basics - Anfänger-Themen 18
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
J Gleiche Methode in 2 verschiedenen Klassen - Lösung ? Java Basics - Anfänger-Themen 8
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
R OOP Instanzierung in verschiedenen Klassen Java Basics - Anfänger-Themen 8
S Daten aus zwei Verschiedenen Tabellen in eine ArrayListe Java Basics - Anfänger-Themen 4
K die Source eines Events bei verschiedenen Quellen herausfinden Java Basics - Anfänger-Themen 1
T Classpath Zwei gleiche Dateinamen in verschiedenen Projekten möglich? Java Basics - Anfänger-Themen 13
S generische methode mit verschiedenen datentypen Java Basics - Anfänger-Themen 3
I Brauche Denkanstoß: Weitergabe von Kontaktinfos aus verschiedenen Kontaktformularen von Webseiten Java Basics - Anfänger-Themen 2
D Objekte mit verschiedenen Attributen erstellen Java Basics - Anfänger-Themen 3
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
A Eine Variable in verschiedenen Ereignisprozeduren benutzen Java Basics - Anfänger-Themen 7
N Verweise auf Variablen in verschiedenen Threads Java Basics - Anfänger-Themen 4
J JLabels in schleife erzeugen mit verschiedenen namen? Java Basics - Anfänger-Themen 5
H Java auf verschiedenen Plattformen Java Basics - Anfänger-Themen 3
I Ausgabe in verschiedenen Entwicklungsumgebungen anders Java Basics - Anfänger-Themen 6
L Threads Thread aus verschiedenen Klassen ansprechen Java Basics - Anfänger-Themen 11
J Probleme mit verschiedenen Private Klassen Java Basics - Anfänger-Themen 3
A Methode aus verschiedenen Klassen aufrufen Java Basics - Anfänger-Themen 8
T Dynamisches abarbeiten von statischen Methode aus verschiedenen Klassen. Java Basics - Anfänger-Themen 5
B Threads Geschwindigkeit der Befehle auf verschiedenen PCs gleich machen Java Basics - Anfänger-Themen 3
U Objekte in Array erstellen und Methode in verschiedenen klassen aufrufen Java Basics - Anfänger-Themen 5
M Anwendung in verschiedenen JREs Java Basics - Anfänger-Themen 42
C jar Datei auf verschiedenen Systemen ausführen Java Basics - Anfänger-Themen 7
J verschiedene Anweisungen bei verschiedenen Zuständen Java Basics - Anfänger-Themen 9
G String mit verschiedenen Zeichen analysieren Java Basics - Anfänger-Themen 5
K Datentypen Gleiche Zufallszahlen in verschiedenen Datenstrukturen Java Basics - Anfänger-Themen 6
T ArrayList mit verschiedenen Datentypen verhindern Java Basics - Anfänger-Themen 8
R Array aus verschiedenen Datentypen Java Basics - Anfänger-Themen 29
A JButtons dynamisch generieren mit verschiedenen actionhandlern Java Basics - Anfänger-Themen 6
K Collections Wie kann Ich eine Hashmap mit verschiedenen Hashsets füllen. Java Basics - Anfänger-Themen 4
K OOP Variablen aus verschiedenen Klassen Java Basics - Anfänger-Themen 4
E Auf Variablen in verschiedenen Klassen zugreifen? Java Basics - Anfänger-Themen 4
J OOP Ausgabe verschiedener Variabeln aus verschiedenen Subclasses Java Basics - Anfänger-Themen 2
Z Geschwindigkeitsunterschied bei verschiedenen Schreibweisen Java Basics - Anfänger-Themen 4
F Gleiche JUnit-Tests automatisert mit verschiedenen Methoden ausführen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben