Rumah >Java >javaTutorial >Bagaimana untuk Memainkan Fail .WAV dalam Java dengan Mudah?

Bagaimana untuk Memainkan Fail .WAV dalam Java dengan Mudah?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-13 01:54:02829semak imbas

How to Play .WAV Files in Java with Ease?

Mainkan Fail .WAV dengan Mudah dalam Java

Memainkan fail audio dalam Java boleh menjadi mudah dengan alatan dan teknik yang betul. Mari kita tangani cabaran ini dengan memainkan bunyi bip mudah apabila butang ditekan.

Coretan Kod untuk Memainkan Fail .WAV

Untuk mencapai ini, coretan kod Java berikut memanfaatkan audio lanjutan keupayaan:

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 PlaySound {

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

    public void playSound(String filename){

        String strFilename = filename;

        try {
            soundFile = new File(strFilename);
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }

        try {
            audioStream = AudioSystem.getAudioInputStream(soundFile);
        } catch (Exception e){
            e.printStackTrace();
            System.exit(1);
        }

        audioFormat = audioStream.getFormat();

        DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);
        try {
            sourceLine = (SourceDataLine) AudioSystem.getLine(info);
            sourceLine.open(audioFormat);
        } catch (LineUnavailableException e) {
            e.printStackTrace();
            System.exit(1);
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }

        sourceLine.start();

        int nBytesRead = 0;
        byte[] abData = new byte[BUFFER_SIZE];
        while (nBytesRead != -1) {
            try {
                nBytesRead = audioStream.read(abData, 0, abData.length);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (nBytesRead >= 0) {
                @SuppressWarnings("unused")
                int nBytesWritten = sourceLine.write(abData, 0, nBytesRead);
            }
        }

        sourceLine.drain();
        sourceLine.close();
    }
}

Penjelasan Langkah demi Langkah

  • Kaedah playSound() mengambil nama fail fail WAV sebagai parameter input.
  • Ia memulakan pelbagai objek berkaitan audio, termasuk fail, strim, format dan bunyi baris.
  • Kod membaca fail WAV dan membuka baris sumber untuk bersedia untuk main balik.
  • Gelung sementara membaca fail dalam ketulan dan menulisnya ke baris sumber.
  • Setelah fail dibaca sepenuhnya, saluran sumber disalirkan dan ditutup, memastikan main balik audio bersih.

Atas ialah kandungan terperinci Bagaimana untuk Memainkan Fail .WAV dalam Java dengan Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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