标题:[求助]关于JFrame中加载音乐文件的问题.
取消只看楼主
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
 问题点数:0 回复次数:10 
[求助]关于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
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
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
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
每一种方法我都会试的,谢谢.

Java与你共枕.
2007-02-08 22:56
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
谢谢这个已经搞懂了,能介绍一下jmf吗.对其的设置等.
我想播放mp3格式的.可以吗.

[此贴子已经被作者于2007-2-8 23:34:40编辑过]


Java与你共枕.
2007-02-08 23:32
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
可以用clip=java.applet.Applet.newAudioClip(utl_);//*1.采用这种方式把音乐加载进来,因为其是静态类
newAudioClip();为静态方法.
楼下有理.

[此贴子已经被作者于2007-2-8 23:57:58编辑过]


Java与你共枕.
2007-02-08 23:33
scoladi
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-3
得分:0 
极差.

Java与你共枕.
2007-02-09 14:18



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




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

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