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)
打赏 支付宝 支付宝 微信 微信
上一篇 7小时前
下一篇 2023年3月27日 上午6:00

相关推荐