Rumah > Java > javaTutorial > Bagaimanakah saya boleh memainkan fail .WAV dengan klik butang dalam aplikasi Java saya?

Bagaimanakah saya boleh memainkan fail .WAV dengan klik butang dalam aplikasi Java saya?

Patricia Arquette
Lepaskan: 2024-11-14 11:20:02
asal
686 orang telah melayarinya

How can I play a .WAV file with a button click in my Java application?

Memainkan Fail .WAV dengan Java dengan Klik Butang

Apabila membangunkan aplikasi Java, selalunya perlu untuk memasukkan kesan bunyi atau main balik audio ke dalam pengalaman pengguna. Artikel ini menunjukkan cara memainkan bunyi bip .wav pendek apabila klik butang.

Coretan Kod untuk Memainkan Fail .WAV

Coretan kod berikut menyediakan penyelesaian terperinci untuk yang isu:

import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

public class PlayWAVFileOnClick {

    private static final int BUFFER_SIZE = 128000;
    private File soundFile;
    private AudioInputStream audioStream;
    private AudioFormat audioFormat;
    private SourceDataLine sourceLine;

    public static void main(String[] args) {
        // Instantiate a new PlayWAVFileOnClick object
        PlayWAVFileOnClick player = new PlayWAVFileOnClick();

        // Specify the path to the .wav file
        String soundFilepath = "path/to/beep.wav";

        // Play the sound
        player.playSound(soundFilepath);

        // Close resources after playback
        player.closeResources();
    }

    public void playSound(String filename) {
        try {
            soundFile = new File(filename);
            audioStream = AudioSystem.getAudioInputStream(soundFile);
            audioFormat = audioStream.getFormat();
            DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
            sourceLine = (SourceDataLine) AudioSystem.getLine(info);
            
            sourceLine.open(audioFormat);
            sourceLine.start();
            
            byte[] data = new byte[BUFFER_SIZE];
            int readSize = 0;
            
            while ((readSize = audioStream.read(data)) != -1) {
                sourceLine.write(data, 0, readSize);
            }
            
        } catch (IOException | LineUnavailableException e) {
            e.printStackTrace();
        }
    }

    public void closeResources() {
        try {
            sourceLine.drain();
            sourceLine.close();
            audioStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Salin selepas log masuk

Penjelasan

  • kaedah playSound(String filename) mengambil laluan ke fail .wav sebagai input dan memainkan audio.
  • kaedah closeResources() menutup semua sumber yang digunakan untuk main balik audio, seperti strim audio dan sumber baris.
  • BUFFER_SIZE ditetapkan untuk kecekapan untuk mengelakkan daripada mencipta terlalu banyak penimbal kecil untuk main balik audio.

Kesimpulan

Menggunakan kod ini, Pembangun Java boleh dengan mudah memasukkan main balik bunyi .wav ke dalam aplikasi mereka, membolehkan mereka meningkatkan pengalaman pengguna dengan kesan bunyi dan pemberitahuan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memainkan fail .WAV dengan klik butang dalam aplikasi Java saya?. 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