Sound einbinden und abspielen

  • Themenstarter Themenstarter BendOr
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

BendOr

Gast
hi,
ich habe mal eine frage, wie kann ich einen sound abspielen in java ? ich müsste JPanel verwenden und am liebsten wäre mir ein kleiner code-schnipsel, bin aber dankbar für jede hilfe, bin ziemlich am verzweifeln...
im applet wird eine funktion bereitgestellt, doch kann ich diese auch irgendwie so aufrufen ? dankeschön, hier mal der source:

Code:
import java.io.*;
import java.awt.*;//Klassen zur Erstellung graphischer Benutzeroberflächen
import java.awt.event.*;//Methoden zur Ereignissteuerung
import javax.swing.*;//weitere Klassen für Oberflächenkomponenten
import javax.swing.border.*;//Ränder für die Komponenten
import java.lang.*;
import java.util.*;
import java.applet.*;

// ---------------------------------------------------------- //
// [url]http://www.addison-wesley.de/Service/krueger/kap25003.htm[/url]  //
// ---------------------------------------------------------- //
public class countdown extends JPanel implements ActionListener
//Die Klasse countdown erweitert die Klasse Jpanel.
// 
  {
  public countdown()
  {
   setLayout(null);
   Feld1=new JTextField("8:00");
   Feld1.setEditable(true);
   Feld1.setBounds(5,5,50,25);
   add (Feld1);
   
   Knopf=new JButton("Starte Uhr");
   Knopf.setBounds(60,5,100,25);
   add (Knopf);

   
   Knopf.addActionListener(new ActionListener()
   {public void actionPerformed(ActionEvent e)
        {System.out.println(e.getActionCommand());
         count_it = count_me.count_me_down(Feld1);
         mukke.play();


        }
    });


  }//Ende des Konstruktors


   public void actionPerformed(ActionEvent e)
    {

    }
    
    JTextField Feld1;
    JButton Knopf;
    count_me count_it = new count_me();
    AudioClip mukke = getAudioClip("bana.wav","bana.wav");
        
public static void main(String[] argument) {
   JFrame frame=new JFrame("Countdown");//Ein neuer Rahmen wird erzeugt.
   frame.getContentPane().add(new countdown());
   frame.setSize(500,500);//Größe des Rahmens festlegen
   frame.setVisible(true);//Rahmen sichtbar machen
   frame.addWindowListener(new WindowAdapter()
     {
      public void windowClosing(WindowEvent e)
         {
          System.exit(0);//Programm beenden
         }
      });//Ende addWindowListener        
   }//Ende der Methode main     
}//Ende der Klasse countdown
mfg
 
Die Zeile 52 müsste etwa so aussehen:
Code:
AudioClip mukke = AudioClip.newAudioClip(new java.net.URL("http://www.my-domain.net/sounds/bana.wav"));
 
hmm schade leider nicht, habe ich vergessen etwas zu importen ?

countdown.java:59: cannot find symbol
symbol : method newAudioClip(java.net.URL)
location: interface java.applet.AudioClip
AudioClip mukke = AudioClip.newAudioClip(new java.net.URL("/bana.wav"));
^
1 error


Code:
import java.io.*;
import java.awt.*;//Klassen zur Erstellung graphischer Benutzeroberflächen
import java.awt.event.*;//Methoden zur Ereignissteuerung
import javax.swing.*;//weitere Klassen für Oberflächenkomponenten
import javax.swing.border.*;//Ränder für die Komponenten
import java.lang.*;
import java.util.*;
import java.applet.*;
danke schonmal für die hilfe
 
Sorry, ich habe einen Fehler gemacht.
Code:
AudioClip mukke = Applet.newAudioClip(new java.net.URL("http://www.my-domain.net/sounds/bana.wav"));

Sollte dein relativer Link zu deiner Datei nicht funktionieren, dann entweder den absoluten angeben oder mit getCodeBase() arbeiten.
 
entweder bin ich zu dumm oder ich mache bloss was falsch.... -.-

also er gibt mir entweder diesen fehler aus:

countdown.java:59: unreported exception java.net.MalformedURLException; must be caught or declared to be thrown
AudioClip mukke = Applet.newAudioClip(new java.net.URL("C:\\Dokumente und Einstellungen\\Bender\\Eigene Dateien\\Schule\\informatik 12.2\\bana.wav"));

oder wenn ich nicht escape diesen hier:

countdown.java:59: illegal escape character
AudioClip mukke = Applet.newAudioClip(new java.net.URL("C:\Dokumente und Einstellungen\Bender\Eigene Dateien\Schule\informatik 12.2\bana.wav"));
^
countdown.java:59: illegal escape character
AudioClip mukke = Applet.newAudioClip(new java.net.URL("C:\Dokumente und Einstellungen\Bender\Eigene Dateien\Schule\informatik 12.2\bana.wav"));
^
countdown.java:59: illegal escape character
AudioClip mukke = Applet.newAudioClip(new java.net.URL("C:\Dokumente und Einstellungen\Bender\Eigene Dateien\Schule\informatik 12.2\bana.wav"));
^
countdown.java:59: illegal escape character
AudioClip mukke = Applet.newAudioClip(new java.net.URL("C:\Dokumente und Einstellungen\Bender\Eigene Dateien\Schule\informatik 12.2\bana.wav"));
^
countdown.java:59: illegal escape character
AudioClip mukke = Applet.newAudioClip(new java.net.URL("C:\Dokumente und Einstellungen\Bender\Eigene Dateien\Schule\informatik 12.2\bana.wav"));
mfg
 
Ein Backslash musst du maskieren. Statt \ schreibst du in einem String immer \\ . Und zu deinem 1. Fehler, du musst einen try-catch Block darum machen und nach einer MalformedURLException catchen. Das steht aber alles in deiner Fehlermeldung 😉
 
ok, danke, werde mich mal dran setzen, bin nicht mehr so bewandelt in java 😉
 
ok, vieeeeeeeeelen dank, es klappt alles 🙂

also mit umständen, ich muss jetzt meine *.wav datei uploaden, damit ich diese abspielen kann, wenn ich lokal versuche den pfad anzugeben, sagt er mir entweder ERROR: no protocol ( bei pfad = "bana.wav") oder ERROR: unknown Protocol (bei pfad = c:\......)
woran könnte das liegen ? muss ich mit einem protocol auf meine platte zugreifen ? 0o
mfg
 
Wenn Du mir einer Datei-Pfadangabe in einer URL nicht klar kommst, dann lass das doch Java für Dich übernehmen:

Code:
String pfad = "C:\\Dokumente und Einstellungen\\Bender\\Eigene Dateien\\Schule\\informatik 12.2\\bana.wav";
AudioClip mukke = Applet.newAudioClip(new File(pfad).toURI().toURL());
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben