Java播放MP3播放音频

35 篇文章 51 订阅

Java播放MP3播放音频

下面我演示用jdk自带包、框架等分别展示播放mp3、等music

一、使用javafx包

AudioClip

注意jdk11以上剥离了javafx

    public static void main(String[] args) throws Exception {
        File file = new File("C:\\Users\\Administrator\\Desktop\\塞壬唱片-MSR,BaoUner - 生命流.mp3");
        URI uri = file.toURI();
        System.out.println(uri);
        // file:/C:/Users/Administrator/Desktop/塞壬唱片-MSR,BaoUner%20-%20生命流.mp3
        AudioClip audioClip = new AudioClip(uri.toString());
        audioClip.setCycleCount(99);// 播放次数
        audioClip.play();
        // 延迟,不关闭main用于播放音乐
        Thread.sleep(10000);
    }
}

Media

使用javafx加入场景模式

import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.stage.Stage;

import java.io.File;
import java.net.URI;

/**
 * @author lingkang
 * @date 2021/12/11
 */
public class MyMusic01 extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        File file = new File("C:\\Users\\Administrator\\Desktop\\塞壬唱片-MSR,BaoUner - 生命流.mp3");
        URI uri = file.toURI();
        System.out.println(uri);

        Media media = new Media(uri.toString());
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.setAutoPlay(true);
        MediaView mediaView = new MediaView(mediaPlayer);
        
        // 可以使用按钮控制
        //mediaPlayer.play();
        primaryStage.setScene(new Scene(new AnchorPane(mediaView)));
        primaryStage.show();
    }

    public static void main(String[] args) throws Exception {
        launch(args);
    }
}

二、java自带包

AudioClip

使用java自带AudioClip 只能播放wav格式文件,其他格式无法播放

import java.applet.Applet;
import java.applet.AudioClip;
import java.io.File;
import java.net.URI;

/**
 * @author lingkang
 * @date 2021/12/11
 */
public class MyMusic02 {
    public static void main(String[] args) throws Exception {
	    // 只支持 wav
        File file = new File("C:\\Users\\Administrator\\Desktop\\aoUner_-_231148159229145189230181129.wav");
        URI uri = file.toURI();
        System.out.println(uri);
        // AudioClip 只能播放 wav 格式的music
        AudioClip audioClip = Applet.newAudioClip(uri.toURL());
        audioClip.play();// 独立线程播放
        //循环播放
        audioClip.loop();
    }
}

Clip

使用Clip,也是只支持wav

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import java.io.File;
import java.net.URI;

/**
 * @author lingkang
 * @date 2021/12/11
 */
public class MyMusic03 {
    public static void main(String[] args) throws Exception {
	    //只能播放 wav 格式的music
        File file = new File("C:\\Users\\Administrator\\Desktop\\aoUner_-_231148159229145189230181129.wav");
        URI uri = file.toURI();
        System.out.println(uri);
        AudioInputStream audioIn = AudioSystem.getAudioInputStream(file);
        Clip clip = AudioSystem.getClip();
        clip.open(audioIn);
        clip.start();
        Thread.sleep(15000);
    }
}

三、使用框架

jaco-mp3-player

2012年的框架
下载地址 http://jacomp3player.sourceforge.net/
只支持map3

import jaco.mp3.player.MP3Player;

import java.io.File;
import java.net.URI;

/**
 * @author lingkang
 * @date 2021/12/11
 */
public class MyMusic04 {
    public static void main(String[] args) throws Exception {
        File file = new File("C:\\Users\\Administrator\\Desktop\\塞壬唱片-MSR,BaoUner - 生命流.mp3");
        //File file = new File("C:\\Users\\Administrator\\Desktop\\aoUner_-_231148159229145189230181129.wav");
        URI uri = file.toURI();
        System.out.println(uri);
        // 只支持map3
        new MP3Player(file).play();
        Thread.sleep(15000);
    }
}

jlayer

最后更新2012年

<!-- https://mvnrepository.com/artifact/javazoom/jlayer -->
<dependency>
    <groupId>javazoom</groupId>
    <artifactId>jlayer</artifactId>
    <version>1.0.1</version>
</dependency>
import javazoom.jl.player.Player;

import java.io.File;
import java.io.FileInputStream;
import java.net.URI;

/**
 * @author lingkang
 * @date 2021/12/11
 */
public class MyMusic05 {
    public static void main(String[] args) throws Exception {
        File file = new File("C:\\Users\\Administrator\\Desktop\\塞壬唱片-MSR,BaoUner - 生命流.mp3");
        //File file = new File("C:\\Users\\Administrator\\Desktop\\aoUner_-_231148159229145189230181129.wav");
        URI uri = file.toURI();
        System.out.println(uri);
        // 只支持mp3格式
        Player player = new Player(new FileInputStream(file));
        player.play();// 线程阻塞
        System.out.println("Song is playing");
    }
}

总结

推荐使用javafx包下的AudioClip

### 回答1: 在 Debian 中播放 MP3 音乐文件需要使用 Java Sound API,以下是使用 Java 播放 MP3 音乐文件的简要步骤: 1. 安装 Java 环境:在终端中输入 `sudo apt-get install default-jdk` 安装 Java Development Kit。 2. 下载 Java MP3 播放器源代码:您可以从网上下载 Java MP3 播放器的源代码,然后使用 Java 编译器编译它。 3. 编译源代码:使用以下命令编译源代码:`javac <源代码文件名>.java`。 4. 运行程序:使用以下命令运行程序:`java <程序名> <mp3文件路径>`。 祝你好运! ### 回答2: 在Debian中使用Java播放MP3音乐文件,你需要遵循以下步骤: 1. 确保你的系统安装了Java开发工具包(JDK)。可以通过运行命令 `java -version` 来检查是否已经安装。如果没有安装,请使用 `sudo apt install default-jdk` 命令进行安装。 2. 下载并安装Java音频引擎(Java Sound API)。你可以从Oracle官方网站下载Java Sound API的库文件,然后将其解压到你的系统中。要确保下载与你系统中已安装的JDK版本相匹配的库文件。 3. 在你的Java项目中添加所需的MP3音频播放库。你可以使用JLayer或JavaFX库来实现MP3播放。如果使用JLayer库,请下载对应的JAR文件,并将其添加到你的项目的类路径中。如果使用JavaFX库,请确保你的JDK版本已包含JavaFX库。 4. 在你的Java代码中,使用所选的音频播放库来播放MP3文件。这个过程包含一些特定的方法和类,具体取决于你选择的库。你可以编写一个简单的Java类来实现播放器功能,通过调用库中的方法来播放MP3音乐。 总之,在Debian中使用Java播放MP3音乐需要确保JDK已经安装并配置好,下载并添加适当的音频播放库,最后在Java代码中使用这些库来播放MP3文件。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌康ACG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值