「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaでWAVファイルを再生するにはどうすればよいですか?

JavaでWAVファイルを再生するにはどうすればよいですか?

2024 年 11 月 19 日に公開
ブラウズ:631

How to Play WAV Files in Java?

Java での WAV ファイルの再生

Java アプリケーションを開発する場合、オーディオ ファイルの再生は一般的な要件です。このチュートリアルでは、*.wav ファイルを再生するための包括的なソリューションを提供し、Java プログラムに効果音やオーディオを組み込むことができます。

まず、オーディオ再生を処理するクラスを作成します。以下の例では、オーディオ ファイルを再生するためのメソッドを含む MakeSound クラスを作成します。

public class MakeSound {

    // Buffer size for reading audio data
    private final int BUFFER_SIZE = 128000;

    // Initialize audio variables
    private File soundFile;
    private AudioInputStream audioStream;
    private AudioFormat audioFormat;
    private SourceDataLine sourceLine;

    public void playSound(String filename) {
        // Open the audio file
        soundFile = new File(filename);
        audioStream = AudioSystem.getAudioInputStream(soundFile);
        
        // Get audio format
        audioFormat = audioStream.getFormat();
        
        // Open the audio output line
        DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
        sourceLine = (SourceDataLine) AudioSystem.getLine(info);
        sourceLine.open(audioFormat);
        
        // Start the audio line
        sourceLine.start();
        
        // Read and write the audio data
        int nBytesRead;
        byte[] abData = new byte[BUFFER_SIZE];
        while ((nBytesRead = audioStream.read(abData, 0, abData.length)) != -1) {
            sourceLine.write(abData, 0, nBytesRead);
        }
        
        // Stop and close the audio line
        sourceLine.drain();
        sourceLine.close();
    }
}

メイン アプリケーションで、PlaySound() メソッドを呼び出し、再生する WAV ファイルのファイル名を渡すことで、MakeSound クラスを使用してオーディオ ファイルを再生できます。

Forたとえば、ボタンが押されたときに短いビープ音を再生するには、次のコードを追加します。

MakeSound sound = new MakeSound();
sound.playSound("beep.wav");

このソリューションは、Java アプリケーションで *.wav ファイルを再生するための信頼性が高く簡単な方法を提供し、プログラムにオーディオを追加して機能とユーザー エクスペリエンスを強化できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3