Heim > Java > javaLernprogramm > Wie kann ich sowohl .mp3- als auch .wav-Audiodateien in Java abspielen?

Wie kann ich sowohl .mp3- als auch .wav-Audiodateien in Java abspielen?

Susan Sarandon
Freigeben: 2024-12-12 14:54:10
Original
765 Leute haben es durchsucht

How Can I Play Both .mp3 and .wav Audio Files in Java?

Wiedergabe von Audiodateien in Java: Eine umfassende Lösung für die Unterstützung von .mp3 und .wav

Bei der Arbeit mit der Audiowiedergabe in Java-Anwendungen, Handhabung Verschiedene Audioformate wie .mp3 und .wav können eine Herausforderung sein. Dieser Artikel bietet eine umfassende Lösung, die die Stärken der java.sound-API und von JavaFX kombiniert, um beide Arten von Audiodateien problemlos abzuspielen.

Java Sound API: Ein Fokus auf .wav-Dateien

Die java.sound API ist eine leistungsstarke Bibliothek für die Audioverarbeitung und -wiedergabe. Es unterstützt jedoch nativ nur WAV-Dateien. Das bereitgestellte Code-Snippet veranschaulicht diese Einschränkung:

public void playSound() {
    try {
        AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("D:/MusicPlayer/fml.mp3").getAbsoluteFile());
        Clip clip = AudioSystem.getClip();
        clip.open(audioInputStream);
        clip.start();
    } catch(Exception ex) {
        System.out.println("Error with playing sound.");
        ex.printStackTrace();
    }
}
Nach dem Login kopieren

Einführung in JavaFX: Die Antwort für .mp3-Unterstützung

JavaFX, eine moderne Java-Bibliothek, löst dieses Problem. Es stellt die Klassen Media und MediaPlayer bereit, die speziell für die Wiedergabe von Audio- und Videoinhalten entwickelt wurden. Diese Klassen unterstützen verschiedene Audioformate, einschließlich .mp3.

MP3-Dateien mit JavaFX abspielen

Der folgende Code zeigt, wie eine .mp3-Datei mit JavaFX abgespielt wird:

String bip = "bip.mp3";
Media hit = new Media(new File(bip).toURI().toString());
MediaPlayer mediaPlayer = new MediaPlayer(hit);
mediaPlayer.play();
Nach dem Login kopieren

Vergessen Sie nicht, diese Importe einzubeziehen Aussagen:

import java.io.File;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
Nach dem Login kopieren

Ein einheitlicher Ansatz: MP3- und WAV-Dateien abspielen

Hier ist der Trick, um sowohl MP3- als auch WAV-Dateien mit einer einzigen Methode abzuspielen :

public void playAudio(String filePath) {
    if (filePath.endsWith(".mp3")) {
        // Use the JavaFX approach
        Media hit = new Media(new File(filePath).toURI().toString());
        MediaPlayer mediaPlayer = new MediaPlayer(hit);
        mediaPlayer.play();
    } else if (filePath.endsWith(".wav")) {
        // Use the java.sound approach
        try {
            AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(filePath).getAbsoluteFile());
            Clip clip = AudioSystem.getClip();
            clip.open(audioInputStream);
            clip.start();
        } catch(Exception ex) {
            System.out.println("Error with playing sound.");
            ex.printStackTrace();
        }
    }
}
Nach dem Login kopieren

Diese Methode kombiniert die Fähigkeiten von JavaFX und java.sound, um sowohl .mp3 als auch zu verarbeiten .wav-Dateien mühelos erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich sowohl .mp3- als auch .wav-Audiodateien in Java abspielen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage