「java适合做什么音乐」java播放音乐的类

博主:adminadmin 2022-12-29 13:06:07 630

本篇文章给大家谈谈java适合做什么音乐,以及java播放音乐的类对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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

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

//你可以在百度上面转格式的

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做一个音乐播放器?

看看其它网友的答案:

首先下载播放mp3的包,比如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) {

// 播放选中的文件

filename = list.getSelectedItem();

play();

}

}

});

add(list, "Center");

// 信息显示

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

labelfilepath = new Label("Dir:");

labelfilename = new Label("File:");

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 mp3解码器完成文件播放功能,然后用swing组件包装一下就行。刚好业界有一个JMF java media framework,是大名鼎鼎的sun开发的。详看这里的官方网页:。网上也有很多JMF教程。

我曾经做过一个简单的,支持文件列表。这是一个很好的编程训练。

编写一个java类,实现mid或者wav格式的背景音乐播放,要循环的,用作一个小游戏的背景音乐,谢

import java.applet.Applet;

import java.applet.AudioClip;

import java.net.MalformedURLException;

public class MusicAudioClip {

AudioClip clip = null;

public AudioClip getAudioClip() {

return this.clip;

}

public void setAudioClip(AudioClip clip) {

this.clip = clip;

}

public void play() {//播放

if (getAudioClip() != null) {

getAudioClip().play();

}

}

public void loop() {//循环

if (getAudioClip() != null) {

getAudioClip().loop();

}

}

public void stop() {//停止

if (getAudioClip() != null) {

getAudioClip().stop();

}

}

public static void main(String[] args) {

MusicAudioClip mac = new MusicAudioClip();

try {

mac.setAudioClip(Applet

.newAudioClip((new java.io.File("music\\0.wav")).toURL()));//填写你自己的文件路径

} catch (MalformedURLException e) {

e.printStackTrace();

}

mac.loop();//循环播放

}

}

关于java适合做什么音乐和java播放音乐的类的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。