Musik(Töne) abspielen

Status
Nicht offen für weitere Antworten.

Leroy42

Top Contributor
Ist es möglich, mit reinen Java-Onboard-Mitteln Musik oder wenigstens Töne abzuspielen?

Ich weiß, das es hierzu bereits einige Threads gibt, wie man MP3-Dateien
abspielen kann (JLayer, BasicPlayer, ...) aber ich konnte noch keine umsetzen.
(Fehlen mir zusätzliche Libraries)?

Es würde mir schon ausreichen einfache Midi-Sequenzen abspielen
zu können und das, wenn möglich, ohne zusätzliche Libraries
(zumindest keine die gleich 1/2 Megabyte groß sind :( ).

Kennt da jemand was, oder hat einen einfachen Link?

Das einzige das ich bräuchte wäre

Code:
void playSong(...); // Sollte ein Stream erwarten, den ich auch aus einer Jar-Datei lese
boolean isFinished(); // oder evtl. ein Listener-Aufruf
void stopSong()
 

The_S

Top Contributor
Applet#getAppletContext#getAudioClip#play

Was hast du mit BasicPlayer und/oder JMF für Probleme?
 

L-ectron-X

Gesperrter Benutzer
Midis mit Methoden aus Applet in einer Applikation abspielen:
Code:
import java.applet.*;
import java.net.*;

public class MidiAudioTest {
   public static void main(String[] args) {
      AudioClip clip = null;
      try {
         clip = Applet.newAudioClip(new URL("http://mitglied.lycos.de/midisworld/midis/eifel65/blue_da_ba_dee.mid"));
      }
      catch(MalformedURLException e) {
         e.printStackTrace();
      }
      clip.play();
   }
}

Den Rest bekommst du alleine hin, oder? ;)
 

Leroy42

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Applet#getAppletContext#getAudioClip#play

Und wie sieht das bei normalen Anwendungen (Nicht-Applets aus)?
(Vielleicht irgendwie über Toolkit?)

Hobbit_Im_Blutrausch hat gesagt.:
Was hast du mit BasicPlayer und/oder JMF für Probleme?

Vielleicht gar keine, aber das halbe Megabyte ist mir zu groß
wenn verschiedene Programmversionen immer per email
verschifft werden müssen. :(
 

The_S

Top Contributor
Leroy42 hat gesagt.:
Hobbit_Im_Blutrausch hat gesagt.:
Applet#getAppletContext#getAudioClip#play

Und wie sieht das bei normalen Anwendungen (Nicht-Applets aus)?
(Vielleicht irgendwie über Toolkit?)

Genauso. Ist doch egal ob du von einem Applet erbst oder nicht, die Klasse steht dir immer zur Verfügung. LeX hat dir ein schönes Beispiel gepostet.
 

Leroy42

Top Contributor
@L-ectron-X: Danke! :D

2 Fragen noch:

1) Wie ich sehe hat das Interface AudioClip keine Möglichkeit
abzufragen, ob der Clip noch läuft. Gibt's da eventuell 'ne andere Möglichkeit?

2) Die Applet-Methode newAudioClip benötigt einen URL. Wie lautet die
URL-Syntax für Dateien, die mit im Jar-File liegen? Mit getResouceAsStream
geht das ja nicht.

@Hobbit: Ja, L-ectron's Beispiel funzt :)

Mich hatte bei deiner Antwort nur das getAppletContext irritiert
 

The_S

Top Contributor
1.) Mit AudioClip allein ist das nicht möglich
2.) Anstelle von ClassLoader#getResourceAsStraem einfach nur ClassLoader#getResource ;)
 

André Uhres

Top Contributor
Code:
package sounddemo;
import java.io.*;
import javax.sound.midi.*;
public class Main {
    public Main() {
        InputStream midiFile = getClass().getResourceAsStream("alb_esp1.mid");
        Sequence sequence;
        try {
            sequence = MidiSystem.getSequence(midiFile);
            Sequencer sequencer;
            sequencer = MidiSystem.getSequencer();
            sequencer.open();
            sequencer.setSequence(sequence);
            sequencer.start();
        } catch (InvalidMidiDataException ex) {ex.printStackTrace();
        } catch (IOException ex) {ex.printStackTrace();
        } catch (MidiUnavailableException ex) {ex.printStackTrace();
        }
    }
    
    public static void main(final String[] args) {new Main();}
}
"Sequencer#isRunning" sagt dir ob die Musik noch spielt.
"Sequencer#stop" stoppt die Musik.
 
F

Flo_B

Gast
Ich wollte den Code von oben mal ausprobieren, ich bekomme aber jedesmal folgende Fehler:
Exception in thread "main" java.lang.NullPointerException
at java.io.DataInputStream.readInt(DataInputStream.java:370)
at com.sun.media.sound.StandardMidiFileReader.getMidiFileFormatFromStream(StandardMidiFileReader.java:94)
at com.sun.media.sound.StandardMidiFileReader.getSequence(StandardMidiFileReader.java:183)
at javax.sound.midi.MidiSystem.getSequence(MidiSystem.java:758)
at Main.<init>(MidiPlayer.java:37)
at Main.main(MidiPlayer.java:49)

Woran könnte das liegen?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Anrutas Musik Playlist Allgemeine Java-Themen 1
MiMa seltsames Jahr aus Musik Metadaten ? Allgemeine Java-Themen 2
C Raspberry Musik abspielen Allgemeine Java-Themen 4
kilopack15 Musik analysieren Allgemeine Java-Themen 0
C Musik in Java Allgemeine Java-Themen 3
E Musik Bot für Twitch umschreiben Allgemeine Java-Themen 12
D Java Musik Player Lautstärke Allgemeine Java-Themen 1
J Beste Musik Bibliothek Allgemeine Java-Themen 12
D Musik, Video, Bücher Verwaltungsprogramm Allgemeine Java-Themen 2
F Java und .xm musik dateien Allgemeine Java-Themen 7
T Musik Spektrum Anzeige erzeugen Allgemeine Java-Themen 17
B Keine Musik bei Applikation Allgemeine Java-Themen 9
M Musik und Java Allgemeine Java-Themen 8
M Töne mit Java ausgeben Allgemeine Java-Themen 1
O Gucken, ob bereits Töne (von wild fremden Programmen) ausgegeben werden Allgemeine Java-Themen 5
F klavier töne Allgemeine Java-Themen 5
K Sounds, töne und klänge Allgemeine Java-Themen 3
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
J Zwei Wavdateien gleichzeitig mit SourceDataLine abspielen Allgemeine Java-Themen 0
J Sound mit Clip in Linux abspielen Allgemeine Java-Themen 3
J Sound mit Hall und Equalizer abspielen lassen Allgemeine Java-Themen 6
Cromewell Interpreter-Fehler MP3 abspielen Allgemeine Java-Themen 3
RalleYTN .wma in Java abspielen Allgemeine Java-Themen 3
Tacofan Sound abspielen Allgemeine Java-Themen 1
javampir Seltsame Lücken beim Abspielen von Sound Allgemeine Java-Themen 2
X Wav-Files abspielen Allgemeine Java-Themen 2
H WAV abspielen nach Button-Klick Allgemeine Java-Themen 4
R Wav-Dateien wiederholt abspielen Allgemeine Java-Themen 2
I Sound abspielen aus einem Sample-Array Allgemeine Java-Themen 2
D Abspielen von Audiodateien Allgemeine Java-Themen 3
M AudioClip in Spiel mehrfach in kurzer Zeit abspielen Allgemeine Java-Themen 3
P Mehrere MP3s abspielen Allgemeine Java-Themen 3
B Datentypen wav Dateien abspielen mit JMF, Clip und Player klappt nicht. Lösung Codec? Allgemeine Java-Themen 13
M Wav Datei abspielen Allgemeine Java-Themen 16
E Videos abspielen etc. Allgemeine Java-Themen 42
C Video abspielen? Allgemeine Java-Themen 2
0 Stream/Datei an VLC übergeben und abspielen Allgemeine Java-Themen 10
P MP3-Player Library: MP3 abspielen und ID-Tags auslesen Allgemeine Java-Themen 12
J mp4 dateien mit dem Java Media Framework abspielen. Allgemeine Java-Themen 2
M wav in Applikation abspielen Allgemeine Java-Themen 2
T Abspielen von Wav ruckelt massiv Allgemeine Java-Themen 8
U Sounds abspielen Allgemeine Java-Themen 3
X Mit JAVA Videos aufnehmen und abspielen. Allgemeine Java-Themen 3
S mit AudioPlayer und jLayer mp3 abspielen Allgemeine Java-Themen 7
P Vob oder Quicktime abspielen Allgemeine Java-Themen 4
R Flash-Movie abspielen! Allgemeine Java-Themen 3
M Sound anhand von gegebener Frequenz abspielen Allgemeine Java-Themen 2
G Soundsamples schnell hintereinander abspielen Allgemeine Java-Themen 4
R Mp3's abspielen Allgemeine Java-Themen 2
M Bilder abspielen mit Übergängen Allgemeine Java-Themen 12
M Sound abspielen ohne Sounddatei Allgemeine Java-Themen 5
bernd Sound abspielen? Allgemeine Java-Themen 6
K Sound abspielen in Java 1.5 Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben