Tondatei abspielen

André Uhres

Top Contributor
Hallo Bandy,

hier ist ein Beispiel von einer Audio Anwendung. Dabei wird mit der Methode Applet.newAudioClip eine AudioClip Instanz erzeugt, welche auf einfache Weise eine Tondatei abspielen kann. Über einen Button wird der Song gestartet:

Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;

public class Audioapp {

    public Audioapp() {
    }

    private static void createAndShowGui() {
        JFrame window = new JFrame();
        window.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        window.setSize(400, 300);
        window.setLocationRelativeTo(null);
        JButton btPlay = new JButton("Play");
        window.add(btPlay, BorderLayout.PAGE_START);
        window.setVisible(true);
        btPlay.addActionListener(new ActionListener() {

            public void actionPerformed(final ActionEvent e) {
                Sound testsong = new Sound("song.mid");
                testsong.playSoundOnce();
            }
        });

    }

    public static void main(final String... args) {
        Runnable gui = new Runnable() {

            public void run() {
                createAndShowGui();
            }
        };
        //GUI must start on EventDispatchThread:
        SwingUtilities.invokeLater(gui);
    }
}

class Sound {

    private AudioClip song; // Sound player
    private URL songPath; // Sound path

    Sound(final String filename) {
        songPath = getClass().getResource(filename); // Get the Sound URL
        song = Applet.newAudioClip(songPath); // Load the Sound
    }

    public void playSound() {
        song.loop(); // Play
    }

    public void stopSound() {
        song.stop(); // Stop
    }

    public void playSoundOnce() {
        song.play(); // Play only once
    }
}

Gruß,
André
 
Zuletzt bearbeitet:

Hoss

Mitglied
Hallo Andre,

versuche verzweifelt eine Wav Datei abzuspielen. Hab das Beispiel aus der JavaInsel8 getestet, aber Java spielt nix ab.

Hab nun dein Beispiel mal nach eclipse kopiert. Audioapp.java und Sound.java und meine Datei uups.wav liegt im gleichen Package. Hab mir in der Soundklasse den Dateinamen und den Path anzeigen lassen. Er stimmt und die Datei wird auch gefunden. Wenn ich die Datei umbenenne, dann gibt es eine Exeption. Die wav Datei ist in Ordnung und läuft über dem Mediaplayer einwandfrei.
Nur wenn ich auf den Button klicke passiert außer der ausgabe des Dateinamens und dazugehörigen Path nix.

Gruß

Hoss
 

Hoss

Mitglied
Das tue ich im Beispiel der Insel8 über .toURL()

Java:
package akkuladestand;

import java.applet.Applet;
import java.applet.AudioClip;
import java.io.File;
import java.net.MalformedURLException;

public class TestSound
{
	public static void main(String[] args) throws MalformedURLException 
	{
		File a = new File( "uups.wav" ); 
		
		 
		System.out.println(a.toURL());
		AudioClip sound;
		sound = Applet.newAudioClip( a.toURL() );
		sound.play(); 
		try
		{
			Thread.sleep( 10000 );
		} catch (InterruptedException e)
		{
			// TODO Automatisch erstellter Catch-Block
			e.printStackTrace();
		}
	}
}

Der Path wird richtig über
Java:
System.out.println(a.toURL);
wiedergegeben.
Ausgabe:
file:/E:/_Develop/BFW/Java0307/Akkuladestand/uups.wav

Das Programm läuft sollange wie der Thread schlafengelegt ist. In dieser Zeit muss die wav Datei abgespielt werden.

Gruß
Hoss
 

André Uhres

Top Contributor
Hallo Hoss,

die Tatsache, dass der Mediaplayer die Datei spielt, bedeutet nicht unbedingt, dass die WAV Datei korrekt ist.

Die meisten Player haben alle Arten von intelligenten Korrektureinrichtungen um allgemeine Probleme in Sound-Dateien wieder gerade zu biegen, weil viele Sounddateien aus Editoren stammen, die beschissene Dateien liefern.

Java nimmt dagegen an, dass die Sound-Dateien richtig geschrieben wurden. Das bedeutet, dass ein paar Sound-Dateien einfach nicht mit Java abgespielt werden können.

Du könntest jetzt alle Sound-Dateien, die du spielen willst, in einen besseren Editor laden und unter einem neuen Namen speichern, was das Problem beheben könnte, so dass Java die Dateien lesen kann.

Wenn du viele Arten von WAV spielen willst, könntest du zunächst mit JMStudio aus dem JMF prüfen, ob JMF die Dateien spielen kann. Wenn JMF die Sound-Dateien abspielen kann, die das Core Java nicht lesen kann - dann verwende das JMF.

Gruß,
André
 

Hoss

Mitglied
Hallo s4ke,
Hallo Andre,

nun es sollte so gehen! Da aber die .Wav Datei einen Bug hat, den java nicht kompensiern kann, kommt kein Ton heraus. Hab jetzt die Datei mit dem Nero Wave Editor geladen und neu abgeschpeichert.

Jetzt spielt Java die Datei auch ab.:D

Danke für euere Hilfe...

Gruß
Hoss
 

s4ke

Bekanntes Mitglied
Naja, das ist so ne Sache. Baut man in sein Programm einen Korrekturmechanismus oder lässt man kaputte mp3s außenvor und verweist auf Reparatursoftware. Bei ersterem wird der Programmieraufwand höher, bei letzterem sind Nutzer genervt. Ich hab mich bei meinem Programm für letzteres entschieden.
 

André Uhres

Top Contributor
Ich weiß nicht... JMF ist doch schon seit längerem wie tot?

In der Tat wurde die API schon seit längerer Zeit aufgegeben. Anscheinend ist sie aber noch ziemlich verbreitet im Einsatz und wohl immer noch sehr nützlich. Hoss hatte mir die beanstandete Datei per Mail geschickt und JMF konnte sie einwandfrei abspielen. Wenn jedoch von der Art der Anwendung her eine Weiterentwicklung nötig ist, ist es natürlich besser, auf ein aktives Framework zurückzugreifen.

Gruß,
André
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Musik abspielen Java Basics - Anfänger-Themen 4
S Youtube Video abspielen Java Basics - Anfänger-Themen 1
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
R Sound abspielen Java Basics - Anfänger-Themen 9
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
A wav-Datei abspielen Java Basics - Anfänger-Themen 3
J Java - Abspielen einer wav Datei Java Basics - Anfänger-Themen 2
P InputStream eines Musik-Streams abspielen Java Basics - Anfänger-Themen 2
Anfänger2011 Input/Output Sound abspielen - ICH VERZWEIFLE!!!! Java Basics - Anfänger-Themen 24
D Wave Datei mehrmals abspielen Java Basics - Anfänger-Themen 2
P Audio Datei abspielen Java Basics - Anfänger-Themen 18
S Vereinfacht Sounds abspielen?! Java Basics - Anfänger-Themen 3
T .wav abspielen Java Basics - Anfänger-Themen 8
P *.wav abspielen mit Anyexample Java Basics - Anfänger-Themen 3
D Sound abspielen, wo muss die .wav liegen Java Basics - Anfänger-Themen 3
2 Input/Output Sound aufnehmen/abspielen? Java Basics - Anfänger-Themen 2
Maxim6394 Problem beim Abspielen von Sounds Java Basics - Anfänger-Themen 8
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
SheldoN Sound abspielen nach Buttonklick in Applets Java Basics - Anfänger-Themen 17
F sound nur abspielen, wenn er nicht läuft Java Basics - Anfänger-Themen 6
B Problem beim Abspielen einer Videodatei Java Basics - Anfänger-Themen 4
H audio abspielen Java Basics - Anfänger-Themen 19
A Soundfile in java abspielen lassen Java Basics - Anfänger-Themen 7
Developer_X Sounds abspielen, die im internet sind (.wav) Java Basics - Anfänger-Themen 2
R WAV-Datei in textpane abspielen Java Basics - Anfänger-Themen 3
StrikeTom Fehler beim Audiodatei abspielen Java Basics - Anfänger-Themen 4
M sound abspielen Java Basics - Anfänger-Themen 3
M Volume beim Abspielen von Audio Dateien Java Basics - Anfänger-Themen 2
J VoiceChat Hilfe - Empfangene Pakete abspielen Java Basics - Anfänger-Themen 6
M Ton abspielen in einer gewissen Frequenz und lautstärke... Java Basics - Anfänger-Themen 3
C Sound abspielen Java Basics - Anfänger-Themen 6
G Video aus dem Internet abspielen Java Basics - Anfänger-Themen 6
R Probleme mit NullPointer beim Mp3 abspielen (JMF) Java Basics - Anfänger-Themen 21
S Midi-dateien Abspielen Java Basics - Anfänger-Themen 2
hdi Sounds abspielen Java Basics - Anfänger-Themen 12
K Animiertes Gif nur einmal abspielen Java Basics - Anfänger-Themen 3
X Audio: Abspielen eines OutputStreams Java Basics - Anfänger-Themen 4
S Ton mit festgelegter Frequenz abspielen Java Basics - Anfänger-Themen 2
B Kann Java Videos abspielen? Java Basics - Anfänger-Themen 2
M Sound Abspielen Java Basics - Anfänger-Themen 9
M strings rückwärts abspielen (schleife?) Java Basics - Anfänger-Themen 33
F mp3 File abspielen Java Basics - Anfänger-Themen 15
U Ton abspielen Java Basics - Anfänger-Themen 23
G Sound bei buttonklick abspielen Java Basics - Anfänger-Themen 7
B Sound einbinden und abspielen Java Basics - Anfänger-Themen 9
D JMF - Abspielen eines mpeg1-Videos Java Basics - Anfänger-Themen 15
E MP3s in Java abspielen Java Basics - Anfänger-Themen 2
G *.au Datei einbinden und abspielen Java Basics - Anfänger-Themen 4
F musik datei mit jmf abspielen Java Basics - Anfänger-Themen 5
D .wav Sound in einer simplen Applikation abspielen Java Basics - Anfänger-Themen 3
B Midi-File Abspielen Java Basics - Anfänger-Themen 14
T Filme ohne JMF abspielen Java Basics - Anfänger-Themen 7
D aufnehmen, abspielen und vergleichen von Sounds Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben