Abspielen von mp3 klappt nicht!

sos

Mitglied
Hallo :)

Meine Applikation gibt Wav Dateien und Bilder problemlos aus. nur leider bei mp3 klappt das nicht. Ich hab die Beiträge zum abspielen von mp3 geschaut, die haben mir nur leider nicht wirklich weiter geholfen...
Meine Mp3play() Methode sieht folgendermaßen aus:

Java:
    	public void playMP3(){
    		try{
    		audioClip = Applet.newAudioClip(this.mediaFile.toURI().toURL());
		}catch (MalformedURLException malurle) {
			System.out.println(malurle.toString());
			System.exit(0);
		}
		if(audioClip != null){
    		setTitle(mediaFile.getName());
    		setSize(300,100);
    		addWindowListener(new WindowAdapter(){
    			
    			public void WindowClosing(WindowEvent e){
    				dispose();
    			}
    		});
    		try{
    			FileInputStream inputStream = new FileInputStream(mediaFile);
    			jlplayer = new Player(inputStream);
    			jlplayer.play();
    		}catch(FileNotFoundException fnfe){
    			System.out.println(fnfe.toString());
    		}catch(JavaLayerException jle){
    			System.out.println(jle.toString());
    		}
		}
    		
    	}

Die nötigen Variablen habe ich natürlich definiert, und die benötigten Klassen importiert.
da ich mit Eclipse arbeite weiss ich dass es daran nicht liegt, Eclipse zumindest zeigt kein Fehler und ausserdem wie gesagt die anderen Dateien lassen sich abspielen.

Danke im vorraus.
 
Zuletzt bearbeitet:
Werden irgend welche Exceptions geworfen? Welchen Player nutzt du? Kann es sein, dass der keine MP3-Dateien unterstützt?
 
Werden irgend welche Exceptions geworfen? Welchen Player nutzt du? Kann es sein, dass der keine MP3-Dateien unterstützt?

Mainmethode:
Java:
    public static void main(String args []){
    	
    	String filePath= null;
    	String[] filePathArray = new String[]{
    		//für Testzwecke pfade auf Mediendateien hier einfügen - kommaseparierte Strings	
    			"H:/Java/Lernhefte/JAV08/Sounds/portable.mp3" , "H:/Java/Lernhefte/JAV08/Bilder/Kranich.jpg" ,
    			"H:/Java/Lernhefte/JAV08/Bilder/Sandstrohblumen.jpg" , "H:/Java/Lernhefte/JAV08/Bilder/Sandstrohblumen_hoch.jpg"
    	};
    	if (args.length<1){
    		System.out.println("HINWEIS: Aufruf mit dem Pfad auf eine Mediendatei als Parameter. \n"+
    				" Verwendug default-Pfad 0 ");
    		filePath = filePathArray[0];
    	}else{
    		try{
    			 filePath = filePathArray[Integer.parseInt(args[0])];
    		}catch(NumberFormatException nfe){
    			filePath = args[0];
    		}catch (IndexOutOfBoundsException ie){
    			System.out.println("Aufrufparameterwert ist zu groß - es sind nur Werte zwischen 0 und 3 +" +
    					" zulaessig");
    			System.exit(0);
    		}
    	}
    	MediendateienAusgeben mda = new MediendateienAusgeben();
    	mediaType = mda.checkType(filePath);
    	if(mediaType == NONE){
    		System.out.println("\""+filePath+ "\" existiert nicht oder ist keine zulaessige Mediendatei.");
    		System.exit(0);
    		}else if(mediaType == BILD)
    	     mda.initBildAusgeben();
    		else if(mediaType == TON)
    		 mda.initTonAusgeben();
    		else if (mediaType == MP3)
    			mda.playMP3();
    			
    	}

Ausgabe : "H:/Java/Lernhefte/JAV08/Sounds/portable.mp3" existiert nicht oder ist keine zulaessige Mediendatei. wobei der Pfad korrekt ist !

als Player benutze ich javazoom.jl.player.Player
musste eigentlich funktionen. ist irgend ein Fehler im Code zu finden ****
 
Zuletzt bearbeitet:
Als erstes würde ich darauf tippen, dass deine MP3 zu neu ist/die verwendete Bibliothek JLayer von http://www.javazoom.net/javalayer/javalayer.html zu alt ist. Der Grund dafür ist: Auch wenn sich das Containerformat "MP3" nicht ändert, ändern sich doch möglicherweise die Audiocodecs. Um dieses Problem auszuschließen, solltest du deinen Player mal mit einer alten MP3-Datei (vor ca. 2006) probieren.
Nutzt du JLayer Classic oder JLayerME ? Welche Versionsnummer?
Kannst du die MP3-Datei mit einem anderen Programm (z.B. Windows Media Player) abspielen? mit welchem? (am besten du probierst mehrere!)
Öffne die Datei außerdem mal mit dem VLC und schau dir die Codec- und Medien-Informationen an und kopiere sie hier rein.
Ich vermute, dass diese API einfach zu alt ist und du auf eine neuere umsteigen musst.

PS: Wenn du deinen Code in [code=java] [/code] statt in [code] [/code]-Tags packst, kann man ihn besser lesen!
 
  • Gefällt mir
Reaktionen: sos
Jo, wahrscheinlich ist das das Problem, die Lernhefte womit ich zu tun habe sind recht veraltet...
Danke schön.
 
Zurück