用Applet播放音频文件

Darling_sheep 2010-11-05 02:02:48
我写了一个Applet程序,想播放音频文件,但出现了异常,各路高手帮忙看一下,不胜感激!
以下是源代码:(其中的文件夹“新歌1”和本程序的源文件都存放在src文件夹里面)
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Audio extends Applet implements ActionListener,ItemListener{
AudioClip clp;
Button ply,lop,stp;
Choice ch;
public void init(){
setLayout(null);
setBackground(Color.cyan);
setForeground(Color.blue);
setFont(new Font("隶书",Font.BOLD,18));
ch=new Choice();
ch.add(getParameter("src//新歌1//传奇.wma"));
ch.add(getParameter("src//新歌1//羽泉-深呼吸.wma"));
ch.add(getParameter("src//新歌1//Banaroo-I Love You You Love Me.wma"));
ch.add(getParameter("src//新歌1//张靓颖-天下无双.wma"));
add(ch);
ch.setBounds(20,60,150,30);
ch.addItemListener(this);

ply=new Button("播放");
lop=new Button("循环播放");
stp=new Button("停止播放");
ply.setBackground(Color.yellow);
lop.setBackground(Color.BLUE);
stp.setBackground(Color.magenta);
ply.setBounds(200, 30, 80, 30);
lop.setBounds(200,80,80,30);
stp.setBounds(200,130,80,30);
add(ply); add(lop); add(stp);
lop.addActionListener(this);
ply.addActionListener(this);
stp.addActionListener(this);
clp=getAudioClip(getCodeBase(),"src//新歌1//传奇.wma");
}
public void itemStateChanged(ItemEvent e){
clp=getAudioClip(getCodeBase(),ch.getSelectedItem());
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ply) clp.play();
else if(e.getSource()==lop) clp.loop();
else if(e.getSource()==stp) clp.stop();
}
}
...全文
135 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lf8336045 2010-11-06
  • 打赏
  • 举报
回复

public class Test {

public static void main(String[] args) {
// System.out.println(test(3));
digui(5);
}

public static int digui(int n){
int num = 0 ;
System.out.println(n);
return num==n ? num:digui(n-1);
}

public static Double test(int n){

Double s = Math.pow(n,n);
System.out.println(s);
if(n>1){
return s+=test(--n);
}else{
return s ;
}
// return n == 1 ? s : (s+=test(n-1));
}
}
canshui 2010-11-06
  • 打赏
  • 举报
回复
up......
bawgiitx 2010-11-06
  • 打赏
  • 举报
回复
getParameter是得到html中的参数的
xiaochun91103 2010-11-05
  • 打赏
  • 举报
回复
ch.add(getParameter("src\\新歌1\\传奇.wma"));
Darling_sheep 2010-11-05
  • 打赏
  • 举报
回复
我不是发了代码了吗?
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Audio extends Applet implements ActionListener,ItemListener{
AudioClip clp;
Button ply,lop,stp;
Choice ch;
public void init(){
setLayout(null);
setBackground(Color.cyan);
setForeground(Color.blue);
setFont(new Font("隶书",Font.BOLD,18));
ch=new Choice();
ch.add(getParameter("src//新歌1//传奇.wma"));
ch.add(getParameter("src//新歌1//羽泉-深呼吸.wma"));
ch.add(getParameter("src//新歌1//Banaroo-I Love You You Love Me.wma"));
ch.add(getParameter("src//新歌1//张靓颖-天下无双.wma"));
add(ch);
ch.setBounds(20,60,150,30);
ch.addItemListener(this);

ply=new Button("播放");
lop=new Button("循环播放");
stp=new Button("停止播放");
ply.setBackground(Color.yellow);
lop.setBackground(Color.BLUE);
stp.setBackground(Color.magenta);
ply.setBounds(200, 30, 80, 30);
lop.setBounds(200,80,80,30);
stp.setBounds(200,130,80,30);
add(ply); add(lop); add(stp);
lop.addActionListener(this);
ply.addActionListener(this);
stp.addActionListener(this);
clp=getAudioClip(getCodeBase(),"src//新歌1//传奇.wma");
}
public void itemStateChanged(ItemEvent e){
clp=getAudioClip(getCodeBase(),ch.getSelectedItem());
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==ply) clp.play();
else if(e.getSource()==lop) clp.loop();
else if(e.getSource()==stp) clp.stop();
}
}
houjin_cn 2010-11-05
  • 打赏
  • 举报
回复
这么说来是 getParameter("src//新歌1//传奇.wma") 返回null啦?
我想你这里应该是形如 getParameter("fileName") 之类的吧?
yaoweijq 2010-11-05
  • 打赏
  • 举报
回复
空指针异常,不过无代码无真相啊
[Quote=引用 3 楼 darling_sheep 的回复:]
不行啊,我把文件改为.wav或者是.au形式的都不行。运行时显示的异常信息是这样的:
java.lang.NullPointerException: cannot add null item to Choice
at java.awt.Choice.insertNoInvalidate(Unknown Source)
at java.awt.Choice.addItem(Unknown So……
[/Quote]
Darling_sheep 2010-11-05
  • 打赏
  • 举报
回复
不行啊,我把文件改为.wav或者是.au形式的都不行。运行时显示的异常信息是这样的:
java.lang.NullPointerException: cannot add null item to Choice
at java.awt.Choice.insertNoInvalidate(Unknown Source)
at java.awt.Choice.addItem(Unknown Source)
at java.awt.Choice.add(Unknown Source)
at Audio.init(Audio.java:14)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
看路大侠能不能再帮忙看一下?谢啦!
yaoweijq 2010-11-05
  • 打赏
  • 举报
回复
估计没有异常信息,就是没声,
弄个.au .avi看下有声没
这两种格式的文件applet确定能播放,并且有声音
houjin_cn 2010-11-05
  • 打赏
  • 举报
回复
Applet不支持wma吧

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧