Java 编写一个简单的音乐播放器

import javax.sound.sampled.*;
import java.io.*;

public class MusicPlayer {

    private Clip clip;

    public void play(String filePath) {
        try {
            File audioFile = new File(filePath);
            AudioInputStream audioStream = AudioSystem.getAudioInputStream(audioFile);
            AudioFormat format = audioStream.getFormat();
            DataLine.Info info = new DataLine.Info(Clip.class, format);
            clip = (Clip) AudioSystem.getLine(info);
            clip.open(audioStream);
            clip.start();
        } catch (UnsupportedAudioFileException | LineUnavailableException | IOException e) {
            e.printStackTrace();
        }
    }

    public void stop() {
        if (clip != null && clip.isRunning()) {
            clip.stop();
            clip.close();
        }
    }

    public static void main(String[] args) {
        MusicPlayer player = new MusicPlayer();
        player.play("music.mp3");
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        player.stop();
    }
}

在上面的代码中,我们定义了一个名为 MusicPlayer 的类,其中包含三个方法:play、stop 和 main。

play 方法接受一个文件路径作为参数,使用 Java 的音频输入输出 API 加载指定的音频文件,并将其播放。我们首先创建一个 File 对象,然后使用 AudioSystem.getAudioInputStream 方法将文件读入 AudioInputStream 中。接下来,我们获取音频流的格式,并使用 DataLine.Info 对象指定要创建的 Clip 类型和格式。最后,我们打开 Clip 并将音频流写入其中,然后开始播放音乐。

stop 方法停止当前正在播放的音乐。我们首先检查 Clip 是否正在运行,然后停止它并关闭它。

在 main 方法中,我们创建一个 MusicPlayer 实例并调用 play 方法来播放音乐。然后,我们让主线程等待 5 秒钟,以便播放器可以播放足够长的时间。最后,我们调用 stop 方法来停止播放音乐。

要运行此代码,请将其保存在名为 MusicPlayer.java 的文件中,然后在命令行中导航到该文件所在的目录,并键入以下命令:

Copy code
javac MusicPlayer.java
java MusicPlayer
这将编译并运行该程序,并在命令行窗口中播放指定的音乐文件。注意,该程序只支持一些特定格式的音频文件,如 WAV、AU、AIFF 等。如果您想要播放 MP3 或其他格式的音频文件,您需要使用额外的库或 API。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值