| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 804 人关注过本帖
标题:[求助]打包成Jar包后,音乐都不见了.千里,有空帮帮忙。
只看楼主 加入收藏
jkking
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-11-8
收藏
 问题点数:0 回复次数:3 
[求助]打包成Jar包后,音乐都不见了.千里,有空帮帮忙。

import sun.audio.*;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class SoundTest extends JFrame {
private static final long serialVersionUID = 1L;
JButton start;
JLabel lbl;
File filename;
FileInputStream in;
AudioStream as;
String path="/1.wav";
public SoundTest() {
try {
filename = new File(this.getClass().getResource(path).getPath());
in = new FileInputStream(filename);
as = new AudioStream(in);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
lbl = new JLabel(filename.getPath());
start = new JButton("開始");
start.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if ("開始".equals(e.getActionCommand())) {
AudioPlayer.player.start(as);
start.setText("結束");
} else if ("結束".equals(e.getActionCommand())) {
AudioPlayer.player.stop(as);
start.setText("開始");
}
}
});
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(lbl,BorderLayout.NORTH);
this.getContentPane().add(start,BorderLayout.CENTER);
this.setSize(400,300);
this.setVisible(true);
}
public static void main(String[] args) {
new SoundTest();
}
}
但打包成Jar后,出错了。
java.io.FileNotFoundException: file:\C:\Server.jar!\1.wav (檔案名稱、目錄名稱或
磁碟區標籤語法錯誤。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at com.sound.SoundTest.<init>(SoundTest.java:27)
at com.sound.SoundTest.main(SoundTest.java:56)

[此贴子已经被作者于2007-5-31 17:18:18编辑过]

搜索更多相关主题的帖子: Jar 音乐 打包 
2007-05-31 16:52
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
打包的时候把音乐也打进JAR 包里面
然后用URL来访问它

可惜不是你,陪我到最后
2007-06-01 13:26
jkking
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-11-8
收藏
得分:0 

我有把音乐打包到Jar中。
this.getClass().getResource(path) 返回的是URL,
但filename = new File(this.getClass().getResource(path));会出错。


2007-06-01 16:56
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

返回的是null就说明你的声音文件不是和你的类放在一起的

你的path传错了

如果你的WAV文件和CLASS文件在一起,则path="xx.wav"
如果你想相对于JAR文件的根目录的则,使用path="/xx.wav"


可惜不是你,陪我到最后
2007-06-01 18:06
快速回复:[求助]打包成Jar包后,音乐都不见了.千里,有空帮帮忙。
数据加载中...
 
   



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

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