本文目录一览:
- 关于Java音乐播放的问题,出现下图的情况如何解决
- Java怎么实现音乐播放
- JAVA 实现音频播放
- 怎样在java中播放音乐
- 请教java高手们,帮我写一个java编写的图片浏览器,功能如下:有自动浏览功能,每隔几秒图片自动翻页。用
- java web上如何实现播放音乐??
关于Java音乐播放的问题,出现下图的情况如何解决
你使用了过时的类调用了过时的方法。已经不被推荐使用,所以eclipse会划线提示。
以 toURL()
为例,直接从File对象获得链接,但是 toURL
方法不会对特殊字符编码。但是 toURI
方法会进行编码。
所以现在一般的解决方案是:
file.toURI().toURL();
解决办法:使用 javafx.scene.media.AudioClip
,该类功能简单:播放和停止声音。没有暂停、时间长度、资料、均衡器等功能。
参考代码:
import java.io.File;
import javafx.scene.media.AudioClip; // 导包
public class TestAudioClip {
public static void main(String[] args) throws Exception { // 抛出异常
AudioClip audioClip = new AudioClip(new File("D:\\宣传片音效.mp3").toURI().toURL().toString());
audioClip.play(0.8); // 设置以80%的音量播放
// 设置一个循环,保证播放完了声音才退出程序
while (true) {
if (!audioClip.isPlaying()) { // 如果停止了播放,就退出while循环
break;
}
}
// while(audioClip.isPlaying()) {} // 这样写更简洁
}
}
Java怎么实现音乐播放
Java SWT实现播放音乐代码如下:
public void play(String Filename) {
try {
// 用输入流打开一个音频文件
InputStream in = new FileInputStream(Filename); // Filename 是你加载的声音文件如("game.wav")
// 从输入流中创建一个AudioStream对象
AudioStream as = new AudioStream(in);
AudioPlayer.player.start(as); // 用静态成员player.start播放音乐
// AudioPlayer.player.stop(as); // 关闭音乐播放
// 如果要实现循环播放,则用下面的三句取代上面的“AudioPlayer.player.start(as);”这句
/*
AudioData data = as.getData();
ContinuousAudioDataStream gg = new ContinuousAudioDataStream(data);
AudioPlayer.player.start(gg); // Play audio.
*/
// 如果要用一个 URL 做为声音流的源(source),则用下面的代码所示替换输入流来创建声音流:
/*
AudioStream as = new AudioStream(url.openStream());
*/
} catch (FileNotFoundException e) {
System.out.print("FileNotFoundException ");
} catch (IOException e) {
System.out.print("有错误!");
}
}
JAVA 实现音频播放
这个程序只要写对了音乐文件的URL地址,例如:
new URL("file:/C:/tmp/1/Windows Ding.wav");
就可以播放音乐,除了可以播放 .wav
格式的音乐,还可以播放 .au
格式的音乐。
另外,如果你不希望音乐循环播放,你可以去掉 audio1.loop();
这一语句。
import java.applet.AudioClip;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JFrame;
public class D extends JFrame {
D() {
setSize(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
URL codebase = null;
try {
codebase = new URL("file:/C:/tmp/1/Windows Ding.wav");
} catch (MalformedURLException e) {
e.printStackTrace();
}
AudioClip audio1 = Applet.newAudioClip(codebase);
audio1.loop();
}
public static void main(String[] args) {
new D();
}
}
怎样在java中播放音乐
使用 play()
方法进行播放,loop()
方法循环播放,stop()
方法停止播放。
实际例子:
File file1 = new File("src\\music\\11.wav");
AudioClip sound1;
sound1 = Applet.newAudioClip(file1.toURL());
sound1.play();
这样就实现了播放音乐的功能,注意J2SE默认只支持 .wav
格式的音频。
请教java高手们,帮我写一个java编写的图片浏览器,功能如下:有自动浏览功能,每隔几秒图片自动翻页。用
改编的 CopyOfImageViewer.java
,打开一个有图片的文件夹就可浏览了。
MP3播放相关库到:[下载链接] 下载。
将下载到的zip文件里的 jl1.0.1.jar
复制到 JDK目录下的 jre/lib/ext/
目录里即可。
将源代码 main 方法里的 playMp3("d:\\bad.mp3");
改成自己的地址,换种方法BMP是可以支持的,这里不行暂不讨论。
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javazoom.jl.player.Player;
public class CopyOfImageViewer implements ActionListener, Runnable {
JPanel bts;
JLabel pl;
JScrollPane jsp;
JButton cf, start, next, prev, stop;
JFrame f;
JFileChooser fc;
File[] sf;
int index;
Thread auto;
boolean autoFlag;
int delay = 5 * 1000;
// 这里就是GUI布局
CopyOfImageViewer() {
pl = new JLabel();
pl.setHorizontalAlignment(JLabel.CENTER);
jsp = new JScrollPane(pl);
start = new JButton("start");
next = new JButton("");
prev = new JButton("");
stop = new JButton("stop");
bts = new JPanel(new FlowLayout(FlowLayout.CENTER));
bts.add(start);
bts.add(prev);
bts.add(next);
bts.add(stop);
cf = new JButton("Select a picture folder");
fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
f = new JFrame();
f.setDefaultCloseOperation(3);
f.getContentPane().add(cf, "North");
f.getContentPane().add(jsp, "Center");
f.getContentPane().add(bts, "South");
f.setSize(400, 300);
f.setLocationRelativeTo(null);
f.setVisible(true);
// 给按钮加入事件侦听器
start.addActionListener(this);
next.addActionListener(this);
prev.addActionListener(this);
stop.addActionListener(this);
cf.addActionListener(this);
auto = new Thread(this);
auto.start();
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Exception e) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e2) {}
}
new CopyOfImageViewer();
playMp3("d:\\bad.mp3");
}
// 简单MP3播放
private static void playMp3(String file) {
try {
Player p = new Player(new FileInputStream(file));
p.play();
} catch (Exception e) {}
}
// 处理各按键事件
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == cf) {
int o = fc.showOpenDialog(f);
if (o == JFileChooser.APPROVE_OPTION) {
sf = fc.getSelectedFile().listFiles(new FilenameFilter() {
// 合法的文件后缀
String[] suf = {".PNG", ".GIF", ".JPG"};
public boolean accept(File dir, String name) {
name = name.toUpperCase();
for (int i = 0; i < suf.length; i++)
if (name.endsWith(suf[i])) return true;
return false;
}
});
if (sf.length > 0) {
index = 0;
showPic();
}
}
}
if (sf == null || sf.length == 0) return;
if (src == start) startB();
else if (src == stop) stopB();
else if (src == next) next();
else if (src == prev) prev();
}
void prev() {
index = --index < 0 ? sf.length - 1 : index;
showPic();
}
void next() {
index = ++index >= sf.length ? 0 : index;
showPic();
}
public void run() {
while (true) {
if (sf != null && sf.length > 0 && autoFlag) {
try { Thread.sleep(delay); } catch (Exception e) {}
next();
}
try { Thread.sleep(100); } catch (Exception e) {}
}
}
private void stopB() {
autoFlag = false;
}
private void startB() {
autoFlag = true;
}
// 显示图片
private void showPic() {
if (sf == null || sf.length == 0) return;
pl.setIcon(new ImageIcon(sf[index].getAbsolutePath()));
System.out.println(sf[index].getAbsolutePath());
}
}
java web上如何实现播放音乐??
这个应该很容易实现,你的意思是用户登录以后,如果用户的登录信息正确,就播放成功的歌曲,如果用户登录失败就播放失败之类的歌曲。
方法一:
一个登录页面,两个带有音乐的页面,这两个页面的所有内容是一样的,只是音乐的 href
(路径)不一样,当成功就跳到成功的那个页面,失败就跳到失败的页面。
方法二:
写一个默认 href
指向成功音乐的页面,登录成功直接跳到这个界面,如果登录失败的话通过 JavaScript 修改本来的页面的 href
,跳转过来的时候由于 href
改变了,所以亦不会播放默认的那首歌曲了。