Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memainkan Kedua-dua Fail Audio .mp3 dan .wav dalam 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!