标题:[求助]关于JFrame中加载音乐文件的问题.
只看楼主
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
 问题点数:0 回复次数:22 
[求助]关于JFrame中加载音乐文件的问题.

package graphics_test;

/********************************
* author @scoladi
*
* Graphics_JFrame_test Graphics_test.java;
*
*******************************/

import java.awt.*;
import java.applet.*;
import java.io.*;//用来找那个文件路径的
import javax.swing.*;

import java.awt.event.*;
import java.net.MalformedURLException;
import java.net.URL;


public class Graphics_test extends JFrame{
JPanel_t jp;
Graphics_test()
{
try
{
jp=new JPanel_t();
}
catch(MalformedURLException m)
{
JOptionPane.showMessageDialog(null, "URL出错,不得不退出.");//程序进入这里了.
try{ /*********************/
Thread.sleep(200);//用于控制其退出时间的.
} /********************/
catch(InterruptedException ine)//此处不能重名呀
{
JOptionPane.showMessageDialog(null, "线程控制出错,不得不退出!");
System.exit(0);
}
dispose();
System.exit(0);
}
Container conx = this.getContentPane();
/*****************************/
conx.setLayout(new BorderLayout());//目地是把jpanel加载到整个框架之中
/*****************************/
conx.add(jp,BorderLayout.CENTER);
}
public static void main(String[] args){
new Graphics_test();
}
/***************************/
class JPanel_t extends JPanel//在此处加载音乐,图片.
{ /**************************/
AudioClip clip; /****************************/
JPanel_t() throws MalformedURLException//在此处进行异常声音,原来其的定义是有异常产生的.
{ /***************************/
String str_utl;
str_utl=System.getProperty("user.dir");//查找到工程文件夹的位置
System.out.println(str_utl);
System.out.println(System.getProperty("user.dir"));
String str_="file:"+str_utl+"\\"+"love is blue_e.WAV";//此处加载上音乐文件
System.out.println(str_);
/***************/
URL utl_=new URL(str_);//此处出现了问题.执行到这一步,就会被捕获.弹出 URL出错,不得不退出对话框
/**************/
System.out.println("测试:进行资源链接地址之后.");
/*************************/
clip=java.applet.Applet.newAudioClip(utl_);//*1.采用这种方式把音乐加载进来,因为其是静态类
//2. 文件路径问题
/*************************/
clip.play();
}
}
}
音乐无法播放.音乐放于.E:\Eclipse workspace\Graphics_JFrame_test下.名为love is blue_e .wav格式.
请各位帮看一下是怎么回事?谢谢.

[此贴子已经被作者于2007-2-8 14:16:36编辑过]

搜索更多相关主题的帖子: import JFrame java 加载 音乐 
2007-02-08 11:57
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
up.

Java与你共枕.
2007-02-08 14:19
every
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-7-11
得分:0 

可以用这个类播放。。

import sun.audio.*;

FileInputStream fis=new FileInputStream("文件名");

AudioStream audioStream=new AudioStream(fis);
AudioPlayer.player.start(audioStream);

可以播放mid\wav格式的声音(其他能播放的还不知道)

也可以用jmf播放

import javax.media.*;

Player audioPlayer = Manager.createRealizedPlayer(new File("文件名").toURL());
audioPlayer.start();

这个能播放mp3但不能播放mid,另外需要下载jmf.jar扩展类包

试一下吧。

[此贴子已经被作者于2007-2-8 15:30:14编辑过]


花儿为什么这样红??
2007-02-08 15:28
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 

package graphics_test;

/********************************
* author @scoladi
*
* Graphics_JFrame_test Graphics_test.java;
*
*******************************/

import java.awt.*;
import java.applet.*;
import java.io.*;//用来找那个文件路径的
import javax.swing.*;
import sun.audio.*;//此是为什么呢.
import java.awt.event.*;
import java.net.URL;
import java.net.MalformedURLException;


public class Graphics_test extends JFrame{
JPanel_t jp;
Graphics_test()
{
try
{
jp=new JPanel_t();
}
catch(MalformedURLException m)
{
JOptionPane.showMessageDialog(null, "URL出错,不得不退出.");
try{ /*********************/
Thread.sleep(200);//用于控制其退出时间的.
} /********************/
catch(InterruptedException ine)//此处不能重名呀
{
JOptionPane.showMessageDialog(null, "线程控制出错,不得不退出!");
System.exit(0);
}
dispose();
System.exit(0);
}
Container conx = this.getContentPane();
/*****************************/
conx.setLayout(new BorderLayout());//目地是把jpanel加载到整个框架之中
/*****************************/
conx.add(jp,BorderLayout.CENTER);
}
public static void main(String[] args){
new Graphics_test();
}
/***************************/
class JPanel_t extends JPanel//在此处加载音乐,图片.
{ /**************************/
AudioClip clip;
FileInputStream fis;
AudioStream audioStream;
/****************************/
JPanel_t() throws MalformedURLException//在此处进行异常声音,原来其的定义是有异常产生的.
{ /***************************/
String str_utl;
str_utl=System.getProperty("user.dir");//查找到工程文件夹的位置
System.out.println(str_utl);
System.out.println(System.getProperty("user.dir"));/*****************************/
String str_="file:"+str_utl+"\\"+"love is blue_e.wav";//"file:"不能忘记是关键之处.
System.out.println(str_); /*****************************/
URL utl=new URL("file:"+str_utl);
/***************/
URL utl_=new URL(str_);//此处出现了问题.
/**************/
System.out.println("测试:进行资源链接地址之后.");
try{
fis=new FileInputStream("love is blue_e.wav");
}
catch(FileNotFoundException f)
{
JOptionPane.showMessageDialog(null, "音乐文件查找失败.");
}
try{
audioStream=new AudioStream(fis);
}
catch(IOException i)
{
JOptionPane.showMessageDialog(null, "播放时输入输出失败.");
}
AudioPlayer.player.start(audioStream);
/*************************/
clip=java.applet.Applet.newAudioClip(utl_);//*1.采用这种方式把音乐加载进来,因为其是静态类
//2. 文件路径问题
/*************************/
if(clip!=null)
{ /*************************/
clip.loop();//测试均能通过,为什么就是没有声音呢.
/*************************/
JOptionPane.showMessageDialog(null, "执行音乐文件.");
}
else
{
JOptionPane.showMessageDialog(null, "音乐文件加载错误.");
}
System.out.println("程序结束:测试.");
}
}
}
试了一个仍然不成,请问那里有问题.初次涉足此方面.
不懂得多.请教了.


Java与你共枕.
2007-02-08 16:00
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
能不能给个编程例子.谢谢.方便些.

Java与你共枕.
2007-02-08 16:04
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
得分:0 
把这个改一下:
URL utl_=new URL(str_);
改成:
URL utl_ =new File("love is blue_e.wav").toURI().toURL();

My BlogClick Me
2007-02-08 17:00
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
晕不知道怎么回事,就是没有声音,错也没有错.
up.

[此贴子已经被作者于2007-2-8 20:29:47编辑过]


Java与你共枕.
2007-02-08 20:29
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
谢谢两位的帮助,弄好了,多谢二位,学到不少东西.
再次感谢.

Java与你共枕.
2007-02-08 22:32
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 
applet不能在application中使用

如果在application中想播音乐请按3楼说的方法做..

我在说's blog   http://www..cn
2007-02-08 22:45
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
得分:0 
楼上从哪儿得到结论?

My BlogClick Me
2007-02-08 22:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-120195-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.268486 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved