Soundfiles in Java 1.5.0_01

Hallo!

Also ich weis nicht, was du hast ... funktioniert doch einwandfrei...
Code:
/**
 * 
 */
package de.tutorials;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.swing.JButton;
import javax.swing.JFrame;

/**
 * @author Administrator
 * 
 */
public class Player extends JFrame {

	private Clip clip;

	private JButton btn;

	private boolean running;

	public Player() {
		super("Player");
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		initPlayer();
		btn = new JButton("Play");
		btn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (!running) {
					running = true;
					clip.start();
					clip.loop(-1);
				} else {
					running = false;
					clip.stop();
				}
			}
		});

		add(btn);

		pack();
		setVisible(true);
	}

	private void initPlayer() {
		try {
			AudioInputStream ais = AudioSystem.getAudioInputStream(new File(
					"C:\\windows\\media\\Windows XP-Startvorgang.wav"));
			AudioFormat format = ais.getFormat();
			DataLine.Info info = new DataLine.Info(Clip.class, format,
					((int) ais.getFrameLength() * format.getFrameSize()));
			clip = (Clip) AudioSystem.getLine(info);
			clip.open(ais);
			

			FloatControl gainControl = (FloatControl) clip
					.getControl(FloatControl.Type.MASTER_GAIN);
			gainControl.setValue(1.0F);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new Player();
	}
}

Die einzige Änderung die ich eingebaut habe war die Zeile mit clip.loop(-1); für eine Endlosschleife...

Gruß Tom
 
Wenn wir jetzt hier schonmal bei Java und Sounds sin.


Ich spiele zur Zeit auch damit rum und bin auf ein paar Probleme gestoßen. Das abspielen von Wave Files klappt nun nach diesem Thread. Wie schaut das ganze aber nun mit .mp3 Files aus?

Ich habe mir hierzu mal das Beispiel hier angeschaut:

http://java.sun.com/products/java-m...3/download.html
http://www.javazoom.net/mp3spi/documents.html

ich muss hier leider anführen, dass es nicht funktioniert, bzw. dass ich es nicht lauffähig hinbekommen habe. Muss man vielleicht noch mehrere Dinge beachten? Oder kann es sein, dass es auch hier eine gewisse Inkompatiblität zu Java 1.5.0 gibt? (Ich benutze mittlerweile das 03er Update)
Wäre nett, wenn jemand helfen könnte und vielleicht auch zeigen was er an dem obrigen Beispiel geändert hat, so dass er es zum laufen bekommen hat.

mfg
Toastbrot

------------------------------------------------- --- -- -

Ich muss mich hier selbst korrigieren. Es funktioniert. Man sollte es nur:

1. nicht nur Nachts probieren und
2. genau alle angegebnen .jar Files benutzen

Mein Fehler war, dass ich stellenweise aktueller Versionen verwendet habe. Jetzt kann ich wunderbar .mp3 Files in meinen Programmen abspielen ;)
 
Zuletzt bearbeitet:
Hi Leute!

Ich hab jetzt Thomas Code zum Öffnen eines Audiofiles für meinen Musik-Player verwendet.

Gerade arbeite ich an einem Lautstärkeregler.

Code:
ais = AudioSystem.getAudioInputStream(f);
            format = ais.getFormat();
            info = new DataLine.Info(Clip.class, format,((int) ais.getFrameLength() * format.getFrameSize()));
            sound = (Clip) AudioSystem.getLine(info);
            sound.open(ais);
            control=(FloatControl)sound.getControl(FloatControl.Type.VOLUME);

Dummerweise kommt immer die Fehlermeldung, dass VOLUME als Control.Type wohl irgendwie nicht funktioniert.

Hat da eventuell jemand eine Idee?
 
Zurück