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
Lepaskan: 2024-12-12 14:54:10
asal
780 orang telah melayarinya

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();
    }
}
Salin selepas log masuk

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();
Salin selepas log masuk

Jangan lupa sertakan import ini kenyataan:

import java.io.File;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
Salin selepas log masuk

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();
        }
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan