OGG-Player

Status
Nicht offen für weitere Antworten.

DeeDee0815

Bekanntes Mitglied
Hi Leute,

ich habe mir folgende kleine SoundPlayer-Klasse geschrieben:

Code:
package tools;

import java.io.IOException;

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.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;

public class SoundPlayer extends Thread {
	private String filename;

	private boolean loop;

	private Clip clip;

	public SoundPlayer(String filename, boolean loop) {
		this.filename = filename;
		this.loop = loop;
	}

	public void run() {
		setName("SoundPlayer");
		try {
			AudioInputStream stream = AudioSystem.getAudioInputStream(ClassLoader.getSystemResource("resources/sounds/" + filename));
			AudioFormat format = stream.getFormat();
			if (format.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {
				format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, format.getSampleRate(), format.getSampleSizeInBits() * 2, format.getChannels(), format.getFrameSize() * 2, format.getFrameRate(), true);
				stream = AudioSystem.getAudioInputStream(format, stream);
			}
			DataLine.Info info = new DataLine.Info(Clip.class, stream.getFormat(), ((int) stream.getFrameLength() * format.getFrameSize()));
			clip = (Clip) AudioSystem.getLine(info);
			clip.open(stream);
			if (loop) {
				clip.loop(Clip.LOOP_CONTINUOUSLY);
			}
			clip.start();
		} catch (UnsupportedAudioFileException exception) {
			exception.printStackTrace();
		} catch (IOException exception) {
			exception.printStackTrace();
		} catch (LineUnavailableException exception) {
			exception.printStackTrace();
		}
	}

	public void exit() {
		clip.stop();
		clip.close();
	}
}

Mithilfe von http://www.javazoom.net/vorbisspi/documents.html habe ich das ganze OGG-Vorbis fähig gemacht. Aber leider klappt das nicht so ganz.

Code:
Exception in thread "SoundPlayer" java.lang.IllegalArgumentException: Unsupported conversion: PCM_SIGNED 44100.0 Hz, -2 bit, stereo, 2 bytes/frame, 20000.0 frames/second,  from VORBISENC 44100.0 Hz, unknown bits per sample, stereo, 1 bytes/frame, 20000.0 frames/second, 
	at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:955)
	at tools.SoundPlayer.run(SoundPlayer.java:32)

Ich habe auch schon versucht, das Ganze ala dem auf der Seite beschriebenen TestPlayer im bei VorbisSPI mitgelieferten srctest-Ordner zu machen: Vergeblich. Wo ist das Problem? (Die Klasse läuft mit WAV-Dateien!)

MfG
DeeDee0815
 

Janus

Bekanntes Mitglied
-2 bit sample rate sieht leicht falsch aus ;)

ich nehme an, dass format.getSampleSizeInBits() -1 liefert, was in der API doc sicherlich dokumentiert ist als spezieller rückgabetyp. was man dann machen muss, steht auch in der doc nehme ich an.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Adobe Shockwave Player importieren Allgemeine Java-Themen 1
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
D Java Musik Player Lautstärke Allgemeine Java-Themen 1
G Desktop open() - Problem mit Media Player Allgemeine Java-Themen 4
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
T Java Video Player Allgemeine Java-Themen 9
B Datentypen wav Dateien abspielen mit JMF, Clip und Player klappt nicht. Lösung Codec? Allgemeine Java-Themen 13
B Datentypen JMF: Player LinkedList sinnvoll? ca 30 kurze Sounddateien Allgemeine Java-Themen 3
J VLC-Player steuern Allgemeine Java-Themen 5
P Windows Media Player starten / finden Allgemeine Java-Themen 2
W JMF- Player.getDuration() Funktion spinnt Allgemeine Java-Themen 2
chriscrown Video Cutter/Player für speziellen H.264-Codec Allgemeine Java-Themen 2
multiholle MP3-Player mit Grundfunktionen Allgemeine Java-Themen 6
chriscrown MP3-Player mit jLayer --> Im Track vorwärts springen Allgemeine Java-Themen 6
P MP3-Player Library: MP3 abspielen und ID-Tags auslesen Allgemeine Java-Themen 12
G Java auf dem MP3 Player Allgemeine Java-Themen 2
M Player mit JMF Allgemeine Java-Themen 4
S TicTacToe KI-Player mit Heuristik Allgemeine Java-Themen 3
M CD Player in Java Allgemeine Java-Themen 4
thE_29 Java EventRecorder/Player Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben