Eclipse中Java图形界面添加背景音乐 5
3个回答
2015-12-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
做法一:
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();
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();
展开全部
// 文件名:MuiscPlay.java
import java.io.*;
import java.net.URL;
import sun.audio.*;
/**
*
* @author wuhuiwen
* 播放音频文件,产生音效
*/
public class MusicPlay {
private AudioStream as; //单次播放声音用
ContinuousAudioDataStream cas;//循环播放声音
// 构造函数
public MusicPlay(URL url)
{
try {
//打开一个声音文件流作为输入
as = new AudioStream (url.openStream());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 一次播放 开始
public void start()
{
if( as==null ){
System.out.println("AudioStream object is not created!");
return;
}else{
AudioPlayer.player.start (as);
}
}
// 一次播放 停止
public void stop()
{
if( as==null ){
System.out.println("AudioStream object is not created!");
return;
}else{
AudioPlayer.player.stop(as);
}
}
// 循环播放 开始
public void continuousStart()
{
// Create AudioData source.
AudioData data = null;
try {
data = as.getData();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Create ContinuousAudioDataStream.
cas = new ContinuousAudioDataStream (data);
// Play audio.
AudioPlayer.player.start(cas);
}
// 循环播放 停止
public void continuousStop()
{
if(cas != null)
{
AudioPlayer.player.stop (cas);
}
}
}
import java.io.*;
import java.net.URL;
import sun.audio.*;
/**
*
* @author wuhuiwen
* 播放音频文件,产生音效
*/
public class MusicPlay {
private AudioStream as; //单次播放声音用
ContinuousAudioDataStream cas;//循环播放声音
// 构造函数
public MusicPlay(URL url)
{
try {
//打开一个声音文件流作为输入
as = new AudioStream (url.openStream());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 一次播放 开始
public void start()
{
if( as==null ){
System.out.println("AudioStream object is not created!");
return;
}else{
AudioPlayer.player.start (as);
}
}
// 一次播放 停止
public void stop()
{
if( as==null ){
System.out.println("AudioStream object is not created!");
return;
}else{
AudioPlayer.player.stop(as);
}
}
// 循环播放 开始
public void continuousStart()
{
// Create AudioData source.
AudioData data = null;
try {
data = as.getData();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Create ContinuousAudioDataStream.
cas = new ContinuousAudioDataStream (data);
// Play audio.
AudioPlayer.player.start(cas);
}
// 循环播放 停止
public void continuousStop()
{
if(cas != null)
{
AudioPlayer.player.stop (cas);
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接触过3种Swing, SWT, JavaFX(如果你用到其他的,那我就不知道了)。根据你要用的技术再去选择好的工具,才会事半功倍。
对于Swing, JavaFX来说是Sun提倡的图形界面开发技术,所以用sun的netbeans是最合适不过,因为sun就是针对自己的产品开发的工具。
对于SWT,就是和eclipse结合的相当好。
另外说下,对于JBuilder,曾经用过一段时间,不过不推荐使用,虽然工具很强大,但是毕竟是收费的,如果非要用,那小心使用吧。
对于Swing, JavaFX来说是Sun提倡的图形界面开发技术,所以用sun的netbeans是最合适不过,因为sun就是针对自己的产品开发的工具。
对于SWT,就是和eclipse结合的相当好。
另外说下,对于JBuilder,曾经用过一段时间,不过不推荐使用,虽然工具很强大,但是毕竟是收费的,如果非要用,那小心使用吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询