永发信息网

跪求解决,帮忙看个Java程序,有关播放音乐的?我实在不知道哪里出错,但是还急着用,谢谢大家。

答案:2  悬赏:80  手机版
解决时间 2021-02-08 07:43
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.applet.AudioClip;
public class SoundPlay extends Applet implements ItemListener,ActionListener{
AudioClip sound;
Choice c=new Choice();//创建列表
Button play=new Button("播放");
Button loop=new Button("循环播放");
Button stop=new Button("停止");

public void init(){
c.add("E:/张靓颖 - 转眼一生转身一世 00_00_00-00_00_17");//添加列表项
c.add("music.wav");
c.add("01.mid");
c.add("02.mid");
add(c);
c.addItemListener(this);//注册监听器
add(play);
add(loop);
add(stop);
play.addActionListener(this);
loop.addActionListener(this);
stop.addActionListener(this);
sound=getAudioClip(getCodeBase(),"music.wav");//设置默认声音
}
public void itemStateChanged(ItemEvent e){
//实现ItemListener对应的抽象方法
sound.stop();//先停止音乐的播放
sound=getAudioClip(getCodeBase(),c.getSelectedItem());//读取用户选项
}
public void actionPerformed(ActionEvent e){
//这一句是实现ActionLstener对应的抽象方法,以后识别用户选择的按钮
if(e.getSource()==play)sound.play();
else if(e.getSource()==loop)sound.loop();
else if(e.getSource()==stop)sound.stop();
}

}

这个程序,为什么播放不了声音?55555555555555555
最佳答案
c.add("E:/张靓颖 - 转眼一生转身一世 00_00_00-00_00_17");//添加列表项
c.add("music.wav");
c.add("01.mid");
c.add("02.mid");这几个是你是不是都应该写个绝对路径试试啊,例如
e:/music/1.wav
e:/music/2.wav
类似这种的。你的写法第一个明显是个目录,剩下的那几个估计程序都找不到。
全部回答

噢晕。。 给你个万年历~

package test;

import java.util.scanner;

public class test {  private long year;  private long month;  private long sumday;  private long day;

 public static void main(string[] args) {   test test = new test();   test.setdate();  }

 scanner name = new scanner(system.in);

 public void setdate() {   try {    system.out.print("请输入年份:");    year = name.nextlong();    system.out.print("请输入月份:");    month = name.nextint(); //   system.out.print("起始年份:"); //   year = name.nextlong();   } catch (exception e) {    system.out.println("输入错误");    setdate();   }   formatoutprint();  }

 // 累加天数  public long sumdate() {   day = 0;   sumday = 0;   for (int i = 1; i <= month; i++) {    switch (i) {    case 1:    case 3:    case 5:    case 7:    case 8:    case 10:    case 12:     day = 31;     break;    case 2:     if (ifleap(year)) {     day = 29;     } else {     day = 28;     }     break;    default:     day = 30;    }    if (i < month) {     sumday += day;    }   }

  // 比如今天是2010年1月1号 是星期五   // 那么在2010 + 28年后的一月一号 也会是星期五   // 所以只要知道我们今年一月一号是星期几,我们就能求出在任意某年以前是星期几   // 存在缺点公元前5740396年 再加上去的话 会出现错误,有待研究   // 还有另外一种算法 2010 一月一号是星期五   // 2010 + 7 也是星期五 2017 + 7 还是星期五 但是在2024 就不是星期五了 就要在2031年一月一号才会是星期五   // 经验 用long能到9100396以上或以下   //    用int 只能到 -5740396 以上 200000年以下  回溯算法   倒退 递归   // 1900   for (long i = -5740396; i < year; i++) {    if (ifleap(i)) {     sumday += 366;    } else {     sumday += 365;    }   }

  return sumday;  }

 // 求用户输入月份的第一天为星期几  2 1  日一二三四五六  public long week() {   long week = sumdate() % 7;   if (week == 7) {    week = 0;   }   return week;  }

 // 判断是否闰年  public boolean ifleap(long year) {   if (year % 4 == 0 || year % 400 == 0 && year % 100 != 0) {    return true;   }   return false;  }

 // 格式化输出  public void formatoutprint() {   long week = week();   string sumday = long.tostring(sumdate());   system.out.println("距离公元前5740396年1月1日至今总共为:" + sumday + "天");   long d = 0;   system.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");   for (int i = 0; i < week; i++) {    system.out.print(" \t");   }   for (int i = 1; i <= day; i++) {    system.out.print(" " + i + "\t");

   // 星期天需要特殊处理    if (week == 0) {     d = i % 7;     if (d == 0) {     system.out.println();     }    }    d = week + i % 7;    if (d == 7) {     system.out.println();    }   }  }

 //  // // 星期过滤  // public string weekfilter(long week) {  // string outweek = null;  // long.tostring(week).t;  // switch (week) {  // case 0:  // return "星期日";  // case 1:  // return "星期一";  // case 2:  // return "星期二";  // case 3:  // return "星期三";  // case 4:  // return "星期四";  // case 5:  // return "星期五";  // case 6:  // }  // return "星期六";  // }

 // 数字转换  public string numchange(int n) {   switch (n) {   case 1:    return "一";   case 2:    return "二";   case 3:    return "三";   case 4:    return "四";   case 5:    return "五";   case 6:    return "六";   case 7:    return "七";   case 8:    return "八";   case 9:    return "九";   }   return "零";  } }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
君发照相馆地址在什么地方,我要处理点事
外峰门隧道我想知道这个在什么地方
共建班级集体材料:进入初中,一切是那么的新
水牛精怎么去啊,有知道地址的么
君发照相馆地址好找么,我有些事要过去
卡罗视觉摄影(文中街137号卡罗视觉摄影)怎么
信用卡按错密码被锁etc上不上得了高速
七丘田我想知道这个在什么地方
如图,角AOC=90°,OB⊥OD,角AOD=3∠BOC,求角BO
属羊结婚忌什么属相
广州市84路公交动物园总站的公交站场,为什么
别用cd改家用怎样改装一个天线
一将功成万骨灰是什么意思
appserv-win32-2.5.10.exe是个什么软件
阿卡朵怎么去啊,有知道地址的么
推荐资讯
义务农药地址有知道的么?有点事想过去
卸载了AMD Catalyst Install Manager为什么黑
中国移动(通信高码头指定专营店)地址在什么地
城堡争霸小黑屋怎么玩?
请问一下我的踏板摩托车冷车打不着火是怎么回
大同水泥集团有限公司子弟学校地址好找么,我
【C语言提问:输出100~200之间,能被3整除的数
元素符号的意义4条
从习而相忘?“习”字何意?出处?
小铃看一本书从第1页开始依次往后看每天看5页
如果在工行有贷款逾期记录,在中国银行的信用
我感觉我活的好烂啊,一点自律都没有
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?