首頁 > Java > java教程 > 如何在 Java 應用程式中點擊按鈕來播放 .WAV 檔案?

如何在 Java 應用程式中點擊按鈕來播放 .WAV 檔案?

Patricia Arquette
發布: 2024-11-14 11:20:02
原創
686 人瀏覽過

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

透過點擊按鈕使用Java 播放.WAV 檔案

開發Java 應用程式時,通常需要將音效或音訊播放合併到其中使用者體驗。本文示範如何在點擊按鈕時播放短促的 .wav 蜂鳴聲。

播放.WAV 檔案的程式碼片段

以下程式碼片段提供了詳細的解決方案問題:

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();
        }
    }
}
登入後複製

說明

  • playSound(String filename) 方法將.wav 檔案的路徑作為輸入並播放音訊。
  • closeResources() 方法關閉所有用於音訊播放的資源,例如音訊串流和來源行。
  • 指定 BUFFER_SIZE 是為了提高效率,以避免為音訊播放建立太多的小緩衝區。

結論

使用此程式碼,Java 開發人員可以輕鬆地將.wav 聲音播放合併到他們的應用程式中,從而使他們能夠通過音效和通知來增強使用者體驗。

以上是如何在 Java 應用程式中點擊按鈕來播放 .WAV 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板