Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memainkan Kedua-dua Fail Audio .mp3 dan .wav dalam Java?

Bagaimanakah Saya Boleh Memainkan Kedua-dua Fail Audio .mp3 dan .wav dalam Java?

Susan Sarandon
Susan Sarandonasal
2024-12-12 14:54:10781semak imbas

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

Memainkan Fail Audio dalam Java: Penyelesaian Komprehensif untuk Sokongan .mp3 dan .wav

Apabila bekerja dengan main balik audio dalam aplikasi Java, pengendalian format audio yang berbeza seperti .mp3 dan .wav boleh mencabar. Artikel ini menyediakan penyelesaian komprehensif yang menggabungkan kekuatan API java.sound dan JavaFX untuk memainkan kedua-dua jenis fail audio dengan mudah.

API Bunyi Java: Fokus pada Fail .wav

API java.sound ialah perpustakaan yang berkuasa untuk pemprosesan audio dan main balik. Walau bagaimanapun, ia hanya menyokong fail .wav sahaja. Coretan kod yang disediakan menunjukkan had ini:

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();
    }
}

Memperkenalkan JavaFX: Jawapan untuk Sokongan .mp3

JavaFX, perpustakaan Java moden, menyelesaikan isu ini. Ia menyediakan kelas Media dan MediaPlayer yang direka khusus untuk memainkan kandungan audio dan video. Kelas ini menyokong pelbagai format audio, termasuk .mp3.

Memainkan Fail .mp3 dengan JavaFX

Kod di bawah menunjukkan cara memainkan fail .mp3 menggunakan JavaFX:

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

Jangan lupa sertakan import ini kenyataan:

import java.io.File;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;

Pendekatan Bersepadu: Memainkan Fail .mp3 dan .wav

Berikut ialah helah untuk memainkan kedua-dua fail .mp3 dan .wav menggunakan satu kaedah :

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();
        }
    }
}

Kaedah ini menggabungkan keupayaan JavaFX dan java.sound untuk mengendalikan kedua-dua fail .mp3 dan .wav dengan mudah.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memainkan Kedua-dua Fail Audio .mp3 dan .wav dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn