sound.java

来自「一个简单的java平图游戏!! 用java编写的」· Java 代码 · 共 69 行

JAVA
69
字号
package com.sato.accp.game.jigsaw;

import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.net.MalformedURLException;


public class Sound {
    /*
     *播放移动的声音
     */
    public static void playMove() {
        play("sound/move.wav");
    }

    /*
     *播放错误的声音
     */
    public static void playError() {
        play("sound/error.wav");
    }

    /*
     *播放成功的声音
     */
    public static void playSuccess() {
        play("sound/success.wav");
    }

    /*
     *播放指定位置的声音文件
     */
    private static void play(String url) {
        try {
            //获取连接文件的输入流
            AudioInputStream stream = AudioSystem.getAudioInputStream(new File(
                    url));
            //编码
            AudioFormat format = stream.getFormat();
            //获取Clip
            DataLine.Info info = new DataLine.Info(
                    Clip.class, stream.getFormat(),
                    ((int) stream.getFrameLength() * format.getFrameSize()));
            Clip clip = (Clip) AudioSystem.getLine(info);

            // 将文件的数据完全载入
            clip.open(stream);

            // 开始播放
            clip.start();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (LineUnavailableException e) {
            e.printStackTrace();
        } catch (UnsupportedAudioFileException e) {
            e.printStackTrace();
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?