audio wiedergabe?

Status
Nicht offen für weitere Antworten.

darkeye2

Bekanntes Mitglied
Hallo, ich progge grad ein programm, bei dem ich auch sound brauche, ich habe 2 verschiedene dateitypen, midi und mp3 ... nun möchte ich mir eine klasse zusammenbasteln, die beim übergeben des dateinamen (also etwa so: MusPlayer player = new MusPlayer("load.midi") ) dann die datei abspiel, bei bedarf auch unendlich oft, also loop funktion.
Nun habe ich was von AudioClip gelesen, aber nicht wirklich verstanden, ob es jetzt midi und mp3 wiedergeben kann oder nicht, außerdem habe ich probleme beim aufrufen.
Dann habe ich was über Java.Sound gelesen, aber da wirds noch unübersichtlicher, aus der docu werde ich auch net schlau, wenn mir jemand helfen kann, würde ich mich freuen.
 
Schau dir mal das hier an zum abspielen:
JMF 2.1.1 - Supported Formats

Dann machst du in deiner Klasse einfach zwei Methoden, eine zum Midi und eine zu Mp3 abspielen und überprüfst dann einfach, welches Dateiformat vorliegt
[Java]String s = "test.midi";
if (s.endsWith(".midi") {
playMidi(s);
} else {
playMp3(s);
}
[/code]
 
schonmal danke für den tipp, doch noch eine frage, jetzt muss ich das teil installieren (was grad passiert) geht das prog dann auch auf rechnern, auf denen das nicht instaliert ist?
==> ok, ich glaub, beim ersten mal hab ich was falsches gedownloadet, aber gibts dafür ne reference? bei sun finde ich keine und die docu die dabei ist, da steht net, wie man das benutzt
 
Zuletzt bearbeitet:
das ist mir bekannt, doch normal steht irgendwo, wie man es einbindet, also wovon man ein object erstellen soll, und welche methoden die klasse dann hat,sowie den construktor
 
werde mir das bsp gleich mal anschauen, das mit den jar einbinden, hab ich schon, ist ja nix neues, wollte eben nur das wissen, was im bsp hoffentlich drinsteht, eben das aufrufen der klasse... also ich probiers jetzt mal aus
 
Ein Midi file kann nur als Sequence in einen Sequencer geladen werden:
Java:
try {
    File myMidiFile = new File("seq1.mid");
    // Construct a Sequence object, and
    // load it into my sequencer.
    Sequence mySeq = MidiSystem.getSequence(myMidiFile);
    sequencer.setSequence(mySeq);
} catch (Exception e) {
    // Handle error
}
Abspielen eines Midi files

geschieht dann durch
Java:
void start()
void stop()
des Sequencers.
Java Sound - Midi

Das kommt sogar ohne das JMF aus! Allerdings kenne ich keine Möglichkeit für mp3 ohne das JMF.
 
Zuletzt bearbeitet:
habe das genau so eingefügt, wie es da stand:
Java:
Sequencer sequencer;
			// Get default sequencer.
			sequencer = MidiSystem.getSequencer();
			if (sequencer == null) {
			    // Error -- sequencer device is not supported.
			    // Inform user and return...
			} else {
			    // Acquire resources and make operational.
			    sequencer.open(); 
			}

			try {
			    File myMidiFile = new File(data);

			    Sequence mySeq = MidiSystem.getSequence(myMidiFile);
			    sequencer.setSequence(mySeq);
			} catch (Exception e) {
			    // Handle error
			}
und kriege folgenden fehler:
Exception in thread "main" javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available
mit verweiß auf folgende zeile:
sequencer = MidiSystem.getSequencer();

mache ich irgendwas falsch, oder gibts nen anderen weg, für midi dateien, da ich sowas hier schonmal probiert habe, da gabs auch schon nen fehler
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben