problem mit getAudioInputStream

knarf93

Grünschnabel
Hi leute
bin zwar noch ein einsteiger in sachen programmieren aber ich bin jetzt auf ein problem gestoßen was mir schon 6h nutzloser google suche eingebracht hat

und zwar versuche ich verzweifelt wav-dateien abzuspielen und habe dazu auch schon verschiedenste lösungen ausprobiert und stoße immer wieder auf das Problem dass

AudioInputStream ais = AudioSystem.getAudioInputStream( lied );

mir immer eine UnsupportedAudioFileException auswirft

DAS lied IST SICHER EINE WAV DATEI

diesen fehler hat schon jemand anders auf einer anderen seite gepostet die auf dieser seite leider keine antwort bekam aber sie beschreibt es vllt besser hier der link

http://www.coderanch.com/t/457225/S...FileException-AudioSystem-getAudioInputStream

Kann mir bitte jemand helfen ?
 
Zuletzt bearbeitet:
Erstmal : Willkommen im Tutorials.de-Forum

Zweitens : bei deiner Registrierung hast du unsere Foren-Regeln akzeptiert , in denen unter Anderem steht das du bitte eine vernünftige Inpuktion sowie Grammatik und Orthografie zu verwenden hast , mit anderen Worten : Zeichensetzung sowie Beachtung von Groß- und Kleinschreibung.

Drittens : Das ist leider wieder ein typischer Fall von Rätzelraten : kein Source-Code , kein kompletter StackTrace und auch sonst keinerlei Informationen.
Was wir brauchen um dir helfen zu können sind mindestens folgende Angaben :

-Source der betreffenden Stelle , verwende hierfür bitte Java-Code-Tags , siehe meine Signatur
-kompletter StackTrace : NUR die Exception reicht manchmal nicht , meistens wird der komplette StackTrace gebraucht um Fehler zu finden die weiter unten liegen und der aufgetretende Fehler nur ein Folgefehler daraus ist
-Informationen zum System : welches OS verwendest du ? Welche Java-Version ? Welche Audio-Lib und welche Version hat diese ? Arbeitest du mit einer IDE oder mit einem Editor und der Console ?
-welches Format haben die Input-Daten ? Wird dieses unterstützt ?

Du siehst : einfach eine Fehlermeldung und die Bitte um Hilfe reichen leider nicht um dir effektiv helfen zu können.

Was das WAV angeht : es gibt sehr viele verschiedene Formate für WAV. Es kann sein das dein WAV-File in einem Format kodiert ist was entweder nicht der Spezifikation entspricht oder aber von der Audio-Lib einfach nicht unterstützt wird. Hast du es schon mal mit anderen WAV-Files versucht ?

Um nun auf deine Frage zu antworten : NEIN , mit den wenigen Infos KANN dir hier einfach keiner helfen , selbst wenn wir es wollten.
 
Also vielen Dank für die rege Beteiligung ! Ich habe das ganze jetzt mit den Windows-Sounds probiert und es verändert leider nichts.

Java:
import java.io.*;
import javax.sound.sampled.*;

public class SampleSound {

  public static void main(String[] args){
    File verz = new File("Musik");
    if(!verz.exists()){
      verz.mkdir();
    }
    File[] lieder = verz.listFiles();

    try {
      playWav(lieder[1]);
    } catch(Exception e) {
      e.printStackTrace();
      System.out.println(lieder[1]);
    }
  }

  private static void playWav(File i) throws Exception {
    //AudioInputStream öffnen und af ermitteln:
    AudioInputStream ais = AudioSystem.getAudioInputStream(i);
    AudioFormat af = ais.getFormat();
System.out.println("Audioformat: " +af.toString());
    //Clip erzeugen und öffnen
    DataLine.Info info = new DataLine.Info(Clip.class, af,
                                           ((int)ais.getFrameLength() * af.getFrameSize()));
    Clip clip = (Clip)AudioSystem.getLine(info);
    clip.open(ais);
    //Clip abspielen
    clip.start();
    while(true) {
      try {
        Thread.sleep(100);
      } catch(Exception e) {

      }
      if(!clip.isRunning()) {
        break;
      }
    }
    clip.stop();
    clip.close();
 }
}

Ich muss gestehen die Methode PlayWav stammt nicht von mir, ich hab nur die main-Methode geschrieben. In den Ordner Musik der in der main erstellt wird wenn er noch nicht da ist hab ich jetzt ein paar Windows-Sounds rein. Die Fehlermeldung sieht folgendermaßen aus:

javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1170)
at SampleSound.playWav(SampleSound.java:23)
at SampleSound.main(SampleSound.java:23)

und dadrunter hab ich mir ja noch die Datei ausgeben lassen um sicher zu sein dass er da auch des richtige übergibt:
Musik\Windows Exclamation.wav

Arbeiten tu ich mit java editor und console weswegen ich die Fehlermeldung abgeschrieben hab geht doch bestimmt irgendwie leichter oder ? :D
Außerdem jdk 1.7.0
Audio Lib keine Ahnung muss man sich das speziell downloaden ? Daran könnts natürlich liegen...
 
Zuletzt bearbeitet:
Hi,

sorry ich habe vorhin vergessen ein Tutorial anzuhängen, welches ich extra rausgesucht habe. Nuja jetzt find ichs blöderweise nicht mehr.

Java:
File f = new File("c:/notify.wav");
AudioClip sound = Applet.newAudioClip(f.toURI().toURL());
sound.play();
Thread.sleep(100000);

Ist zwar unschön mit dem sleep aber immerhin tuts.
 
hmmm dein Code läuft zwar ohne eine Exception, aber leider auch ohne Ton ;)

Es wäre nett wenn ihr meine Lösung mal an eurem PC probieren könntet, dann weiß ich wenigstens obs am code liegt... ich tu jetzt schon 2 Tage rum und hab außer MIDI noch nixxx zum laufen kriegt :(
 
ich habe nun auch einige Beispiele aus dem Netz ausprobiert und keines hat funktioniert, bis eben auf das hier. (Getestet habe ich ausschließlich die Windows-Wav-Dateien)
Ich bin echt verwirrt - das kann doch nicht so schwer sein?!

*EDIT*
Getestet ohne Erfolg:

http://stackoverflow.com/questions/2416935/how-to-play-wav-files-with-java
http://www.anyexample.com/programming/java/java_play_wav_sound_file.xml
http://blog.mynotiz.de/programmiere...in-einem-applet-ohne-sicherheitsabfrage-1152/

Gruß

Sebastian
 
Zuletzt bearbeitet:
also fragt mich nicht warum ich finds selber übelst komisch :D ich habe mir jetzt anstatt windows-sounds irgendwelche tierlaut-wavs runtergeladen und die funktionieren :p Manchmal brauchts irgendwie eine verzweiflungsaktion ... keine Ahnung was mit meinen windowssounds los is ...

Es klappen jetzt beide Versionen sowohl deine wie meine aber immerhin kann ich jetzt endlich weiter machen :DDD und ja ich bin wieder in chatsprache das thema ist ja jetzt sowieso erledigt :D
 
Zurück