ホームページ  >  記事  >  Java  >  Java アプリケーションでボタンをクリックして .WAV ファイルを再生するにはどうすればよいですか?

Java アプリケーションでボタンをクリックして .WAV ファイルを再生するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-14 11:20:02600ブラウズ

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() メソッドは、オーディオ ストリームやソースなど、オーディオの再生に使用されるすべてのリソースを閉じます。 line.
  • BUFFER_SIZE は、オーディオ再生用に小さなバッファが大量に作成されるのを避けるため、効率を高めるために指定されています。

結論

このコードを使用すると、 Java 開発者は、.wav サウンドの再生をアプリケーションに簡単に組み込むことができ、サウンド効果やサウンドによるユーザー エクスペリエンスを向上させることができます。通知。

以上がJava アプリケーションでボタンをクリックして .WAV ファイルを再生するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。