栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java音乐播放小程序,学以致用。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java音乐播放小程序,学以致用。

最近学了一些java于是突发奇想做了一个小程序来播放音乐,代码使用到第三方库 jlayer 来播放mp3音乐。Swing库用于gui的创建。

 


mp3音乐播放

 Play.java

这里需要一个第三方java包 jlayer 大家可以浏览器下载也可以去我群里下载:706128290

package com.Play;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;

public class Play {
    String audio; // 音乐文件
    //播放音乐方法
    public Play(String audio) {
        this.audio = audio;
        try {
            Player player = new Player(new FileInputStream(this.audio));  // 创建播放器
            System.out.println("播放音乐:"+this.audio);
            player.play();                                            // 开始播放
        } catch (JavaLayerException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

 


gui加多线程

 main.java

package com.Play;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.Runnable;

public class main {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Play Audio");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // panel
        JPanel panel = new JPanel();
        frame.setContentPane(panel);

        // Label
        JLabel label = new JLabel("选择音乐文件:");
        panel.add(label);

        // textfield 文本输入框
        JTextField textfield = new JTextField(20);
        panel.add(textfield);

        // Button 播放音乐
        JButton button = new JButton("播放");
        panel.add(button);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String audio = textfield.getText(); // 获取文本输入框内容
                // D:\Programs\JAVA_MX\Play\file\She - Vicky萱萱.mp3
                PlayAudio(audio); // 启动进程播放
            }
        });

        frame.setSize(300, 200); // 窗口大小
        frame.setVisible(true); // 窗口循环
    }

    // Button Run
    private static void PlayAudio(String audio) {
        new Thread(new PlayRunnable(audio)).start();
    }
}

// 创建一个音乐播放进程类
class PlayRunnable implements Runnable {
    String audio;
    public PlayRunnable(String audio) {
        this.audio = audio;
    }

    @Override
    public void run() {
        Play play = new Play(this.audio);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/874198.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号