java 音频播放器

本贴最后更新于 1963 天前,其中的信息可能已经水流花落

java 音频播放器备份,支持 wav,mp3

都是摘抄于网络,wav 播放mp3 播放

播放 wav 版本

  • 不需要其他 jar 包

  • 代码:

package com;

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

/*
wav播放器,不支持mp3
 */
public class AePlayWave extends Thread {
    private String name;

    public AePlayWave(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        File file = new File(name);
        AudioInputStream audioInputStream = null;
        try {
            audioInputStream = AudioSystem.getAudioInputStream(file);
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }

        AudioFormat format = audioInputStream.getFormat();
        SourceDataLine auline = null;
        DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);

        try {
            auline = (SourceDataLine) AudioSystem.getLine(info);
            auline.open(format);
        } catch (Exception e) {
            e.printStackTrace();
            return;
        }

        auline.start();
        int nBytesRead = 0;
        byte[] abbytes = new byte[512];
        try {
            while ((nBytesRead = audioInputStream.read(abbytes, 0, abbytes.length)) != -1) {
                if (nBytesRead >= 0) {
                    auline.write(abbytes, 0, nBytesRead);
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
            return;
        } finally {
            auline.drain();
            auline.close();
        }


    }
}

MP3 播放

package com;

import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
/*
mp3播放器
 */
public class AudioPlayer extends Thread {
    Player player;
    File music;
    //构造方法
    public AudioPlayer(String fileName) {
        this.music = new File(fileName);
    }
    //重写run方法
    @Override
    public void run() {
        super.run();
        try {
            play();
        } catch (FileNotFoundException | JavaLayerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //播放方法
    public void play() throws FileNotFoundException, JavaLayerException {

        BufferedInputStream buffer =
                new BufferedInputStream(new FileInputStream(music));
        player = new Player(buffer);
        player.play();
    }
}

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8207 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    大学时候做过一个 Java 的音频播放器,用的也是 JavaZoom,可惜后来没能坚持下来。

  • someone

    很不错,折腾的过程中收获的是成长是快乐。😋