java如何实现音乐播放

 使用java播放音乐

使用步骤

1.调用AudioPlay的有参构造器,参数内要传入要播放的音乐文件地址,文件需要是.wav格式结尾的文件

2.调用start方法播放音乐,从头连续播放

3.暂停调用pause方法,会保存音乐暂停时的毫秒值位置

4.继续播放调用recommence方法,会读取保存的毫秒值位置继续播放

5.结束播放,中断,关流

import javax.sound.sampled.*;
import java.io.File;
/**
 * @ClassName AudioPlay
 * @Description TODO
 * @Author 阡陌
 * @Date 2023/4/13 20:27
 * @Version 1.0
 * @PackageName com.itheima.Test
 */

public class AudioPlay {
    //音频文件输入流
    private  AudioInputStream aio;
    //控制器
    private Clip bgm;
    //在暂停和继续音乐时保存文件的毫秒数
    private Long microsecondPosition;
    private AudioPlay(){};
    /*
        构造器,传入要播放的音乐地址
        filePath=音频文件的地址,用于创建file对象,以及后续的音频流对象
     */
    public AudioPlay(String filePath) {
        try {
            //创建音频对象
            this.bgm=AudioSystem.getClip();
            //创建流
            this.aio = AudioSystem.getAudioInputStream(new File(filePath));
            //开启流
            bgm.open(aio);
        } catch (Exception e) {
            System.err.println("音频文件初始化失败");
        }
    }
    /**
        播放音乐
     */
    public void start(){
        //播放音乐
        bgm.setMicrosecondPosition(0);
        bgm.start();
        bgm.loop(Clip.LOOP_CONTINUOUSLY);
    }

    /**
        暂停音乐
     */
    public void pause(){
        //保存当前时间点
       microsecondPosition= bgm.getMicrosecondPosition();
       //暂停音乐
       bgm.stop();
    }
    /**
        继续播放
     */
    public void recommence(){
        //设置上一次暂停位置的毫秒值
        bgm.setMicrosecondPosition(microsecondPosition);
        //从设置位置继续播放
        bgm.start();
    }
    /**
        结束播放
     */
    public void stop(){
        //中断播放
        bgm.stop();
        //关闭流
        bgm.close();
    }

}

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值