Audioclip wiedergabe klappt nicht

Status
Nicht offen für weitere Antworten.

MISC89

Mitglied
Hallo,

ich kenn mich noch nicht so aus mit java programmierung aber ich möchte gerne wenn ich in einem java fenster einen

knopf drücke, eine audiofile abgespielt wird...ich zeig euch mal ein paar ausschnitte von dem programm....


Code:
import java.util.Random;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.io.*;
import java.applet.*;
import java.applet.AudioClip;

public class Highlow extends Frame
implements WindowListener, ActionListener
{
    Button generieren;
  
       [....]
       [....]


 public void actionPerformed (ActionEvent e)
     {
        Object quelle = e.getSource();
        
        if(quelle==generieren)
        {
            try
            {
                File f = new File( "1.wav" ); 
                AudioClip sound = Applet.newAudioClip( f.toURL() ); 
                sound.play();
                Thread.sleep( 100000 );
            }
            catch(Exception g){}

             [...]

}


ich habe die datei "1.wav " zsm mit der datei .class und .java in einem ordner...der compiler zeigt keine syntaxerror

an, trotzdem höre ich keinen sound...vllt kann mir ja jemand helfen :> ach ähm und ich programmiere mit blueJ falls das wichtig sein sollte...

MISC89
 
dein Exception Handling ist das Problem...

catch(..){} ...ignoriert alles

mach ein

e.printStackTrace();

dort rein...dann siehst du was das Problem sein könnte
und nimm den sleep mal raus...
 
hi,

hab zwar nen anderen algorithmus jetz gewählt aber es klappt,

allerdings hab ich bemerkt dass es sich um ein applet handeln muss

also praktisch public class Highlow extends Frame + APPLET

meine nächste frage ist nun wie ich highlow zsm mit frame und

applet erweitern kann? public class Highlow extends Frame,Applet

klappt zum beispien nicht.kann mir jemand helfen? :>
 
Du kannst nur von einer Klasse erben... wozu mußt du denn von Applet erben? Sollte auch ohne gehen, wenn du die richtigen Imports hast!

EDIT: Hier mal ein Beispiel, wie es mit den Applet-Methoden funzt, ohne das die Klasse von Applet erbt:

Code:
import java.applet.Applet;
import java.applet.AudioClip;
import java.net.URL;

public class WaveTest {

   public AudioClip loadSound(String soundUrl) {
      URL url = null;
      try {
         url = getClass().getClassLoader().getResource(soundUrl);
         return Applet.newAudioClip(url);
      } catch (Exception e) {
         System.out.println("Kann Datei nicht finden/öffnen: " + soundUrl);
         return null;
      }
   }

   public static void main(String[] args) {
      WaveTest wt = new WaveTest();
      AudioClip clip = wt.loadSound("test.wav");  // Hier muß der Pfad zu deiner Wave rein!
      clip.play();
   }
}
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben