📜  如何在 java 上播放声音 (1)

📅  最后修改于: 2023-12-03 15:24:12.363000             🧑  作者: Mango

在Java上播放声音

在Java中播放声音需要使用Java Sound API。Java Sound API提供了一个简单的音频播放框架,可以播放一个音频文件,或者流式读取从网络或本地设备中的音频文件。

1. 导入Java Sound API库

Java Sound API使用Java的标准库,Java SE中已经包含了该库。我们只需要在代码中导入该库即可。

import javax.sound.sampled.*;
2. 加载音频文件

在Java中播放音频需要先将音频文件加载到程序中。可以使用AudioSystem类的静态方法getAudioInputStream()来读取音频文件。

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("audiofile.wav").getAbsoluteFile());
3. 创建音频剪辑

音频剪辑是Java Sound API的核心对象,用于控制的音频播放。可以使用AudioSystem类的静态方法getClip()来创建一个音频剪辑对象。

Clip clip = AudioSystem.getClip();
4. 打开音频剪辑

在播放音频之前需要先打开音频剪辑。

clip.open(audioInputStream);
5. 播放音频剪辑

可以使用Clip类的start()方法来播放音频剪辑。

clip.start();
6. 关闭音频剪辑

在音频剪辑播放完成后需要关闭它。

clip.close();
完整代码片段
import java.io.File;
import javax.sound.sampled.*;

public class SoundPlayer {

    public static void main(String[] args) {

        try {
            // 1. 载入音频文件
            AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("audiofile.wav").getAbsoluteFile());

            // 2. 创建音频剪辑
            Clip clip = AudioSystem.getClip();

            // 3. 打开音频剪辑
            clip.open(audioInputStream);

            // 4. 播放音频剪辑
            clip.start();

            // 5. 等待音频播放完成
            Thread.sleep(clip.getMicrosecondLength() / 1000);

            // 6. 关闭音频剪辑
            clip.close();

        } catch (Exception ex) {
            System.out.println("Error with playing sound.");
            ex.printStackTrace();
        }
    }
}

以上是在Java上播放声音的详细介绍,希望对大家有所帮助。