java音乐类,基于java的音乐播放器

相信在工作或者生活当中您可以想要学习java音乐类,或者查看关于基于java的音乐播放器的内容,那么恰好小编在网站上为您整理。。

本文目录一览:

java 问题java都能添加什么类型的音乐?

//自己封碰稿装java音乐类的类 只可以播放wav格式的音乐文件 注意有的wav文件不标准的话就不能播放的

//java音乐类你可笑芹孝以在百度上面转格式的

import java.applet.*;

import java.io.*;

import java.net.*;

class PlayMusic {

private File path=null;

private AudioClip ac=null;

private URL url =null;

//构造函数传入wav文件的路径以及名称 

public  PlayMusic(String path1){

this.path = new File(path1);

try {

url = path.toURI().toURL();

} catch (MalformedURLException e) {

// TODO Auto-generated 首圆catch block

e.printStackTrace();

}

ac = Applet.newAudioClip(url);

ac.play();

}

public void setStop(){

ac.stop();

}

}

java音乐类,基于java的音乐播放器

如何用java做一个音乐播放器?

首先下载播放mp3java音乐类的包java音乐类,比如mp3spi1.9.4.jar。在工程中添加这个包。

播放器演示代码如下

package com.test.audio;

import java.io.File;

import java.awt.BorderLayout;

import java.awt.FileDialog;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.Label;

import java.awt.List;

import java.awt.Menu;

import java.awt.MenuBar;

import java.awt.MenuItem;

import java.awt.MenuShortcut;

import java.awt.Panel;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.sound.sampled.AudioFormat;

import 液悔javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.DataLine;

import javax.sound.sampled.SourceDataLine;

public class MusicPlayer extends Frame {

    /**

 * 

 */

private static final long serialVersionUID = -2605658046194599045L;

boolean isStop = true;// 控制播放线程

    boolean hasStop = true;// 播放线程状态

 

    String filepath;// 播放文件目录

    String filename;// 播放文件名称

    AudioInputStream audioInputStream;// 文件流

    AudioFormat audioFormat;// 文件格式

    SourceDataLine sourceDataLine;// 输出设备

 

    List list;// 文件列表

    Label labelfilepath;//播放目录显示标签

    Label labelfilename;//播放文件游宴显示标签

 

    public MusicPlayer() {

        // 设置窗体属性

        setLayout(new BorderLayout());

        setTitle(“MP3 Music Player”);

        setSize(350, 370);

 

        // 建立菜单栏

        MenuBar menubar = new MenuBar();

        Menu menufile = new Menu(“File”);

        MenuItem menuopen = new MenuItem(“Open”, new MenuShortcut(KeyEvent.VK_O));

        menufile.add(menuopen);

 闹磨正       menufile.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

                open();

            }

        });

        menubar.add(menufile);

        setMenuBar(menubar);

 

        // 文件列表

        list = new List(10);

        list.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent e) {

                // 双击时处理

                if (e.getClickCount() == 2) {

                    // 播放选中java音乐类的文件

                    filename = list.getSelectedItem();

                    play();

                }

            }

        });

        add(list, “Center”);

 

        // 信息显示

        Panel panel = new Panel(new GridLayout(2, 1));

        labelfilepath = new Label(“Dirjava音乐类:”);

        labelfilename = new Label(“Filejava音乐类:”);

        panel.add(labelfilepath);

        panel.add(labelfilename);

        add(panel, “North”);

 

        // 注册窗体关闭事件

        addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent e) {

                System.exit(0);

            }

        });

        setVisible(true);

    }

 

    // 打开

    private void open() {

        FileDialog dialog = new FileDialog(this, “Open”, 0);

        dialog.setVisible(true);

        filepath = dialog.getDirectory();

        if (filepath != null) {

            labelfilepath.setText(“Dir:” + filepath);

 

            // 显示文件列表

            list.removeAll();

            File filedir = new File(filepath);

            File[] filelist = filedir.listFiles();

            for (File file : filelist) {

                String filename = file.getName().toLowerCase();

                if (filename.endsWith(“.mp3”) || filename.endsWith(“.wav”)) {

                    list.add(filename);

                }

            }

        }

    }

 

    // 播放

    private void play() {

        try {

            isStop = true;// 停止播放线程

            // 等待播放线程停止

            System.out.print(“Start:” + filename);

            while (!hasStop) {

                System.out.print(“.”);

                try {

                    Thread.sleep(10);

                } catch (Exception e) {

                }

            }

            System.out.println(“”);

            File file = new File(filepath + filename);

            labelfilename.setText(“Playing:” + filename);

 

            // 取得文件输入流

            audioInputStream = AudioSystem.getAudioInputStream(file);

            audioFormat = audioInputStream.getFormat();

            // 转换mp3文件编码

            if (audioFormat.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {

                audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,

                        audioFormat.getSampleRate(), 16, audioFormat

                                .getChannels(), audioFormat.getChannels() * 2,

                        audioFormat.getSampleRate(), false);

                audioInputStream = AudioSystem.getAudioInputStream(audioFormat,

                        audioInputStream);

            }

 

            // 打开输出设备

            DataLine.Info dataLineInfo = new DataLine.Info(

                    SourceDataLine.class, audioFormat,

                    AudioSystem.NOT_SPECIFIED);

            sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);

            sourceDataLine.open(audioFormat);

            sourceDataLine.start();

 

            // 创建独立线程进行播放

            isStop = false;

            Thread playThread = new Thread(new PlayThread());

            playThread.start();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

    

    class PlayThread extends Thread {

        byte tempBuffer[] = new byte[320];

        

        public void run() {

            try {

                int cnt;

                hasStop = false;

                // 读取数据到缓存数据

                while ((cnt = audioInputStream.read(tempBuffer, 0,

                        tempBuffer.length)) != -1) {

                    if (isStop)

                        break;

                    if (cnt  0) {

                        // 写入缓存数据

                        sourceDataLine.write(tempBuffer, 0, cnt);

                    }

                }

                // Block等待临时数据被输出为空

                sourceDataLine.drain();

                sourceDataLine.close();

                hasStop = true;

            } catch (Exception e) {

                e.printStackTrace();

                System.exit(0);

            }

        }

    }

 

    public static void main(String args[]) {

        new MusicPlayer();

    }

}

如何用java识别音乐

Java中可以通过AudioClip类来实现音乐播放,循环等操作。AudioClip支持的音乐格式有.wav、.mid、AIFF、AU、RMF,但是格式要求相当严格。我用AudioClip播放我自己录的一段wav文件就没有声音,让我纠结了很久,最后才发现我的wav文件内容没有写文件尾,对于格式要求严格的AudioClip而言是无法识别的(这个问题困扰了我整晚)。

AudioCLip主要的方法有:play()播放依次声音;loop()循环播放改明音乐;stop()停止播放。

做法一:

InputStream is =null;

AudioStream as = null ;

is = getClass().getResourceAsStream(“a.wav”);

try {

as = new AudioStream(is);

} catch (IOException e) {}

AudioPlayer.player.start(as);

此方法将音乐文件放入流中在播放,仅限于Java Application,容易报错,空指针异常,或者是流异常,不推荐。

做法二:

String music = “核拦告a.wav”;

AudioClip clip = Applet.newAudioClip(getClass().getResource(music));

次方法在Applet中运行没有问题,但是Application中getclass()会返回空指针,导致失败。

推荐做法:

private URL url;

private AudioClip ac;

File f1 = new File(“衡凳C:/3.wav”);

try {

url= f1.toURL();

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

ac= Applet.newAudioClip(cb1);

ac.play();

JAVA:编写一个音乐类,属性包括音乐名称音乐类型,方法为显示音乐信息,并编写测试类

public class TestValid

{

public static void main(String[] args)

{

Music music = new Music(“abc”, “bcd”);

music.show();

}

}

class Music

{

private String musicName;

private String musicType;

public Music(String musicName, String musicType)

{

super();

this.musicName = musicName;

this.musicType = musicType;

}

public String getMusicName()

{

return musicName;

}

public void setMusicName(String musicName)

{

this.musicName = musicName;

}

public String getMusicType()

{

return musicType;

}

public void setMusicType(String musicType)

{

this.musicType = musicType;

}

public void show()

{

System.out.println(“Music [musicName=” + musicName + “, musicType=” + musicType

+ “]”);;

}

}

java如何实现音乐播放?我是指用什么函数或者类?

这个就可以陪盯判。但是wavjava音乐类的音乐可以播放java音乐类java音乐类我估计mid应该也可以把,其芦改java音乐类java音乐类的就不能保证了。

String

s=”music.wav”;

InputStream

is

=null;

AudioStream

as

=

null

;

int

time=400;

is

=

getClass().getResourceAsStream(s);

try

{

as

=

new

AudioStream(is);

}

catch

(IOException

e)

{}

AudioPlayer.player.start(as);

try

{

Thread.sleep(time);

}

catch

(InterruptedException

e)

{}

/则液/AudioPlayer.player.stop(as);

java音乐类的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于基于java的音乐播放器、java音乐类的信息别忘了在本站进行查找喔。

以上就是敲爱笑的小仙女为大家整理的《java音乐类,基于java的音乐播放器》文章,希望对您有所帮助。本文链接:https://www.musicbooks.cn/89521.html欢迎转发给有需要的朋友!

本站文章来源于网络,版权归原作者所有,如果侵犯了您的权益,请来信告知,我们会尽快删除。

(0)
打赏 支付宝 支付宝 微信 微信
上一篇 2023年5月13日 下午10:50
下一篇 2023年5月14日 上午6:30

相关推荐

  • 青春双手简谱(青春舞曲双手简谱)

      乐业上海青春驿站微招聘青春双手简谱,是专为奉贤人定制青春双手简谱的求职招聘平台。网站主要为奉贤本地广大企业及求职者提供人才就业等相关的网络信息服务。具有鲜明的行业特色青春双手简谱,致力于打造奉贤全面的、专业的人才招聘、求职网。      乐业上海青春驿站微招聘是奉贤本土企业和人员招聘的重要窗口之一。由首页、找工作、招人才、招聘会、HR工具箱、资讯中心、会…

    2024年9月5日
    390
  • 音乐类榜单(音乐榜前十名)

    1、国家音乐教育学院拥有多年辉煌音乐类榜单的历史,在全俄音乐高校排行榜位居第8名作为该院校的教师和学生们感到很自豪在俄罗斯音乐历史上有很多著名的音乐家都是从该院校毕业的 国家音乐教育学院 详情国家音乐教育学院拥有多年辉煌的历史,作为该;就当下来说,最权威的应该是音乐,因为它歌曲收藏量最多,版权最多,数据统计也较为客观真实下面排名不分前后 其实各个音乐平台上的…

    2023年6月30日
    330
  • 艺术生音乐类投档线(艺术音乐生高考分数线)

    由于不同艺术生音乐类投档线的院校不同艺术生音乐类投档线的录取规则和不同艺术生音乐类投档线的专业水平艺术生音乐类投档线,不可能概括出艺术类学生文化课程的保险分数艺术生音乐类投档线,但总体而言,艺术类考生的生命线约为350分音乐艺考上一本大学的话因为院校不同,录取规则不同,专业水平不同,因此音乐。 艺术类,文化课最低分305分,投档成绩最低分305分,专业成绩最…

    2023年7月2日
    270
  • 外省音乐类二本(音乐专业二本学校有哪些)

    1、主要就是二本师大和二本综合大学外省音乐类二本,沈阳大学外省音乐类二本,大连大学,渤海大学,临沂大学,聊城大学,鲁东大学,温州大学,长春大学,成都大学,烟台大学,北部湾大学,沈阳师大,吉林师大,赣南师大,鞍山师院,通化师院,白城师院,盐城师院。 2、1哈尔滨音乐学院 哈尔滨音乐学院HarbinConservatoryof Music简称quot哈音quot…

    2023年7月1日
    290
  • 音乐类招聘(音乐类招聘信息2023)

    1中国音乐人才网这是一个专门针对音乐行业的招聘网站音乐类招聘,其中包括音乐老师的招聘信息该网站的优点是以音乐行业为主要定位音乐类招聘,拥有更为专业的音乐招聘信息和人才库音乐类招聘,更容易吸引优秀的音乐老师2智联。 本次招聘工作的防疫要求由武汉音乐学院另行通知,应聘者要自觉服从防疫工作安排,做好卫生防疫工作参加现场招聘活动的,要出具健康码及相关必要证明不服从安…

    2023年6月29日
    300
  • 九儿二胡简谱(九儿二胡简谱指法示范)

    简谱各乐器通用九儿是电视剧红高粱的片尾曲九儿二胡简谱,由何其玲阿鲲作词,阿鲲作曲,分别有韩红胡莎莎演唱的两个版本;在二胡简谱中,每个音符都用汉字表示,而不是用西方音乐记号表示以下是几个常见的二胡指法1 二胡有两根弦,分别是高音弦和低音弦左手使用指尖按压弦上的音位,以改变音色和音高2 右手使用弓子拉动弦,产生声音。 除少数专业二胡谱用五线谱记谱以外,目前大多数…

    2023年7月1日
    530
  • 百鬼夜行简谱(百鬼夜行简谱音频怪物)

    1、这歌不是墨明棋妙的哦,是音频怪物唱的,原曲日本音乐团队rin#39sakitama~幸魂~323 3 321 6123 3 321 6123 323 171 656 561 6 2 53 323 323 5666 55 666 5666 55 666 5666 55 666 1653。 2、这两首是歪唱,不是原创,也不是墨明棋妙的,是老妖个人的搜原曲应该…

    2023年6月30日
    340
  • 红军不怕远征难简谱(红军不怕远征难简谱教学)

    “金沙水拍云崖暖红军不怕远征难简谱,大渡桥横铁索寒”金沙江两岸悬崖峭壁,湍急红军不怕远征难简谱的流水拍击着两岸高耸红军不怕远征难简谱的山崖,给人以暖的感受横跨东西两岸的大渡桥,只剩下十几根铁索,使人感到深深的寒意quot云崖暖quot金沙江水拍岸,心里感觉温暖,暗示红军不怕远征难简谱;红军不怕远征难,万水千山只等闲五岭逶迤腾细浪,乌蒙磅礴走泥丸金沙水拍云崖暖…

    2023年6月30日
    350