Sound abspielen nach Buttonklick in Applets

SheldoN

Mitglied
Tag Leute,

hat jemand ne Ahnung wie ich Sounds per Buttonklick in einem Applet starten kann? Der Button ist schon erstellt, nur weiß ich nicht den Befehl zum öffnen der .wav datei.
 

Fab1

Top Contributor
Hi Sheldon,


hab bei mir das mal so gelöst, allerings weiß ich nicht, ob es bei einem Applet funktioniert. (hab keine Ahnung von Applets).

Bekomme auch die Meldung (...deprecated) wie auch immer, hier der Code. Funktionieren tut er bei mir.

Musst natürlich entsprechend anpassen.

Java:
public void soundKlatschen(){
			  
			  try {
				  System.out.println("Sound abspielen wird aufgerufen");
			     
				AudioClip ac = Applet.newAudioClip (new File ("Sound/Applaus.wav").toURL()); 
			      ac.play();
			      
			} catch(Exception e) {
				e.printStackTrace();
			}
		  }
 

L-ectron-X

Gesperrter Benutzer
Applet#newAudioClip(java.net.URL)

@Fab1: Hast du deinen Code getestet? Ich glaube die Verwendung von File in einem Applet wird eine AccessControlException provozieren, weil dabei auf der Client-Festplatte gesucht wird.
In einem Applet besser immer über die CodeBase die Resourcen laden.
 

SheldoN

Mitglied
Hi Fab1,

den Quellcode den du geschrieben hast öffnet die .wav Datei nachdem ich das Applet gestartet habe. Ich möchte aber einen Button in dem Applet erstellen und durch Buttonklick die .wav datei starten.
Trotzdem danke^^

mfg
 

Eldorado

Bekanntes Mitglied
Das hängt davon ab, von wo du den Code aufrufst und hat nichts mit dem Code von Fab1 zu tun...du musst ihn natürlich auch richtig einbauen!
 

SheldoN

Mitglied
oh okay^^
muss evtl. noch dazu sagen das ich auch ziemlich neu in der Materie bin, aber ich werds mal probieren.
Vielen dank euch!
 
S

Spacerat

Gast
Dann lade die .wav-Datei halt in der Applet-Init-Routine in eine Membervariable des Applets und führe die Play-Methode innerhalb des ActionListeners des Buttons aus. Beachte aber L-ectron-Xs Worte sehr kritisch, dein Applet funktioniert sonst nur lokal auf deinem Rechner und dort möglicherweise auch nur in der Entwicklungsumgebung.
 

SheldoN

Mitglied
Hm, das is schlecht. Ich hatte vor ein Nippelboard zu coden (Sowas wo Stefan Raab ständig drauf kloppt) und ich wollte das evtl nen paar Kollegen weiter schicken.
Hat jemand evtl mal nen funktionierenden Beispielcode für mich?
Würd mich freuen,
mfg
 

Fab1

Top Contributor
Applet#newAudioClip(java.net.URL)

@Fab1: Hast du deinen Code getestet? Ich glaube die Verwendung von File in einem Applet wird eine AccessControlException provozieren, weil dabei auf der Client-Festplatte gesucht wird.
In einem Applet besser immer über die CodeBase die Resourcen laden.

Jap, funktionieren tut es, allerdings nur mit einer Warnung. Wusste allerdings zum damaligen Zeitpunkt (gut jetzt auch noch) keine bessere Lösung.
 
S

Spacerat

Gast
Also zum Laden der .wavs benötigst du eine URL - etwas anderes extrahiert Fab1 selber auch nicht aus File - und vllt noch ergänzend den relativen Serverpfad der Datei.
Java:
<Applet>.getAudioClip(getCodeBase(), "relPath/my.wav");
oder
Java:
<Applet>.getAudioClip(getDocumentBase(), "relPath/my.wav");
je nachdem, von wo aus der Pfad zur Datei per http erreichbar ist.
[ot]Obendrein ist "<File>.toURL()" inzwischen auch @Deprecated[/ot]
 

SheldoN

Mitglied
Genau, so weit hab ich es bis jetzt,
jetz möchte ich nur noch beim klicken des Buttons im Applet die .wav datei gestartet bekommen.
Im Moment sieht es so aus :
Java:
public void init(){
        button = new Button("Nippel1");
        add(button);
        try {
        	
          AudioClip sound1 = Applet.newAudioClip (new File ("/home/timo/workspace/Hallo2/Nippelboard/nippelsounds/nippelneu1_watt.wav").toURL()); 
            sound1.play();
            
      } catch(Exception e) {
          e.printStackTrace();
      }
 

L-ectron-X

Gesperrter Benutzer
Wie schon gesagt: verzichte auf File!

Folgende Dateien legst du für dieses Beispiel in ein gemeinsames Verzeichnis.

Ein Beispiel-Applet:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.applet.*;

public class SoundApplet extends JApplet implements ActionListener {
    private AudioClip clip;
    
    public void init() {
       setLayout(new GridBagLayout());       
       
       try {
          clip = newAudioClip(new URL(getCodeBase()+"clip.wav"));
       }
       catch(MalformedURLException e) {
          e.printStackTrace();
       }
       
       JButton playBtn = new JButton("Play");
       playBtn.addActionListener(this);
       
       add(playBtn);
    }
    
    public void actionPerformed(ActionEvent e) {
       clip.play();
    }    
}

Die HTML-Datei:
HTML:
<html>
 <title>SoundApplet</title>
 <body>
  <applet code="SoundApplet.class" width="400" height="300">
  </applet>
 </body>
</html>

Und zum Testen irgendeine Wav-Datei, die du vorher noch entpackst:
 
S

Spacerat

Gast
Ui... das aber wahnsinnig neu in der Materie... ;)
1. Eine Nippelklasse wäre nicht schlecht.
Java:
public class Nippel
extends Button
{
  private final AudioClip ac;

  public Button(String name, AudioClip ac)
  {
    super(name);
    if(null == ac) {
      throw new IllegalArgumentException("AudioClip may not be null");
    }
    this.ac = ac;
    addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
         if(this == e.getSource()) {
          ac.play();
        }
      }
    }
  }
}
2. Diese kann man in der Init-Methode des Applets wie folgt instanzieren.
Java:
Nippel n = new Nippel("Nippel1", getAudioClip(getCodeBase(), "relPath/my.wav"));
[ot]Okay... der anonyme ActionListener mag vllt. unfein sein aber gut...[/ot]
[edit]@L-ectron-X: Zeile 14 in deinem Code... was ist das????:L ... okay vergiss das ;)[/edit]
 
Zuletzt bearbeitet von einem Moderator:
S

Spacerat

Gast
Die Klasse Nippel erweitert Button. Sie kann nun im Applet als solcher verwendet bzw. hinzugefügt werden.
Java:
<Applet>.add(/*(Button)*/ nippel1);
[ot]Was des macht ist eigentlich schon klar, jedenfalls nachdem ich nachgeschaut habe.
Mir kam das nämlich spanisch vor, weil ich diese Methode in der Eclipse-CV zunächst gar nicht fand und sie schliesslich ganz unten doch zu finden war. Kein Wunder, sie ist statisch. "okay, vergiss das" hat plötzlich doch eine völlig neue Bedeutung, findest du nicht? Zumindest gibt's 'ne Warnung: "The static method newAudioClip(URL) from the type Applet should be accessed in a static way"[/ot]
 
Zuletzt bearbeitet von einem Moderator:

SheldoN

Mitglied
ahh ich habs nun endlich !
Nur habe statt
Java:
clip = newAudioClip(new URL(getCodeBase()+"clip.wav"));

so eingetippt:
Java:
clip = newAudioClip(new URL(getCodeBase(),"clip.wav"));

Was so kleine Zeichen ausmachen~~

Vielen dank nochmals!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
R Sound abspielen Java Basics - Anfänger-Themen 9
Anfänger2011 Input/Output Sound abspielen - ICH VERZWEIFLE!!!! Java Basics - Anfänger-Themen 24
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
F sound nur abspielen, wenn er nicht läuft Java Basics - Anfänger-Themen 6
M sound abspielen Java Basics - Anfänger-Themen 3
C Sound abspielen Java Basics - Anfänger-Themen 6
M Sound Abspielen Java Basics - Anfänger-Themen 9
G Sound bei buttonklick abspielen Java Basics - Anfänger-Themen 7
B Sound einbinden und abspielen Java Basics - Anfänger-Themen 9
D .wav Sound in einer simplen Applikation abspielen Java Basics - Anfänger-Themen 3
Pinhg Sound in Greenfoot Code einbinden Java Basics - Anfänger-Themen 2
SpigBin Sound einbinden bei Funktionsaufruf Java Basics - Anfänger-Themen 4
R MediaPlayer: Sound hat Verzögerung Java Basics - Anfänger-Themen 2
Dann07 Sound wird nicht abgespielt Java Basics - Anfänger-Themen 25
B Eclipse spielt Sound nicht ab Java Basics - Anfänger-Themen 12
CptK Erste Schritte Sound-Datei einbinden Java Basics - Anfänger-Themen 2
N kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 1
U Sound einfügen Java Basics - Anfänger-Themen 6
K Sound speichern Java Basics - Anfänger-Themen 3
J Sound-Wiedergabe Java Basics - Anfänger-Themen 6
P Java Sound midi Java Basics - Anfänger-Themen 3
R Erste Schritte Exception bei erstellen von Java Sound Java Basics - Anfänger-Themen 23
J WAVE-file mit Java Sound erstellen Java Basics - Anfänger-Themen 9
V Sound wird nicht abgspielt Java Basics - Anfänger-Themen 8
B Sound-Wiedergabe Java Basics - Anfänger-Themen 4
F Spiel geht nicht mehr nach neuer Klasse Sound Java Basics - Anfänger-Themen 18
S kein sound? Java Basics - Anfänger-Themen 3
A Jlayer: Wie sound stoppen der in einem Thread läuft Java Basics - Anfänger-Themen 7
M Kein Sound in der .jar, davor schon Java Basics - Anfänger-Themen 6
C Wav-Sound nur unter Window Java Basics - Anfänger-Themen 5
R Problem mit Sound Java Basics - Anfänger-Themen 5
R Sound Problem Java Basics - Anfänger-Themen 25
P Sound in Applikation (nicht Applet) Java Basics - Anfänger-Themen 5
Developer_X Java can't play mid sound? Java Basics - Anfänger-Themen 16
K kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 2
X Benutzung von Mixer (Sound, nicht Küche!) Java Basics - Anfänger-Themen 2
V Serialisieren einer ShortMessage (javax.sound.midi) Java Basics - Anfänger-Themen 5
S Java Sound mit 24 bit/96 kHz Audio? Java Basics - Anfänger-Themen 12
0 Problem mit Bild und Sound im Applet Java Basics - Anfänger-Themen 12
D Sound in Frames möglich? EDIT Class Clip Java Basics - Anfänger-Themen 5
K Sound stoppt nicht Java Basics - Anfänger-Themen 3
N Java Sound - Unsupported control type Java Basics - Anfänger-Themen 2
F Sound Interface Richtig implementieren Java Basics - Anfänger-Themen 4
G Sound/Endlosschleife/Abbruchproblem Java Basics - Anfänger-Themen 3
B Wo finde ich die Klasse javax.sound.sampled.AudioSystem Java Basics - Anfänger-Themen 7
R Sound wird im Applet nicht abgespielt Java Basics - Anfänger-Themen 13
K Java Sound Application Java Basics - Anfänger-Themen 2
G Sound einbinden Java Basics - Anfänger-Themen 2
G sound in applikation Java Basics - Anfänger-Themen 7
G Sound Java Basics - Anfänger-Themen 13
megachucky wo gibts icons, images und sound dateien zum download? Java Basics - Anfänger-Themen 2
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
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
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
Maxim6394 Problem beim Abspielen von Sounds Java Basics - Anfänger-Themen 8
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
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 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
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 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
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
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
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben