本文目录一览:
- 1、java 问题java都能添加什么类型的音乐?
- 2、如何用java做一个音乐播放器?
- 3、如何用java识别音乐
- 4、JAVA:编写一个音乐类,属性包括音乐名称音乐类型,方法为显示音乐信息,并编写测试类
- 5、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做一个音乐播放器?
首先下载播放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欢迎转发给有需要的朋友!
本站文章来源于网络,版权归原作者所有,如果侵犯了您的权益,请来信告知,我们会尽快删除。