标题:用list存音乐url 为什么 stop()无反应
只看楼主
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
结帖率:80%
 问题点数:0 回复次数:2 
用list存音乐url 为什么 stop()无反应
能play()   但无法stop()音乐




程序代码:
package midterm;


import java.awt.*;
import java.applet.*;
import java.awt.event.*; //系统导入类
import import java.util.ArrayList;

import javax.swing.JApplet;
public class music extends Applet implements ActionListener{
    private final ArrayList<URL> list = new ArrayList<URL>();
    AudioClip cp;
    Button b1,b2,b3;
    private final String[] wav = { "0.wav", "1.wav", "2.wav"};
    public void init(){
    cp=getAudioClip(getCodeBase(),"2.wav"); //读取指定文件
    b1=new Button("播放");
    b2=new Button("停止");
    b3=new Button("单曲循环"); //来个按钮控件
    b1.addActionListener(this);
    b2.addActionListener(this);
    b3.addActionListener(this); //给按钮加监听器
    add(b1);
    add(b2);
    add(b3); //界面中显示按钮
}
    public ArrayList<URL> getlist(){
        
         list.add(this.getClass().getClassLoader().getResource(wav[1]));
        return list;
    }
    
public AudioClip getwav(){
       
         AudioClip co1 = JApplet.newAudioClip(getlist().get(0)); 
        
         return co1;
     }
    public void stop(){
        getwav().stop();
    }//开始时,使音乐不能自动播放

    public void actionPerformed(ActionEvent e){
    if(e.getSource()==b1){
        getwav().play();}
        else if(e.getSource()==b2){
            getwav().stop();}
        else if(e.getSource()==b3){
            getwav().loop();
        }
    }}//看用户点击哪个按钮,好响应相关操作
搜索更多相关主题的帖子: color 音乐 
2017-04-21 13:30
冷月闲照
Rank: 2
等 级:论坛游民
威 望:1
帖 子:4
专家分:13
注 册:2017-7-25
得分:0 
public ArrayList<URL> getlist(){
         list.add(this.getClass().getClassLoader().getResource(wav[1]));
        return list;
    }
这个方法每调用一次添加一个重复的这个有点不大合适,但是真正的错误在这个地方
public AudioClip getwav(){
         AudioClip co1 = JApplet.newAudioClip(getlist().get(0));
         return co1;
     }
你第二次点击时AudioClip 已经不是原来那个了,原来那个你已经访问不到了。
你是不是新手啊,建对象如此的草率,还有代码质量真不怎么的,需要去改正了。
2017-07-25 23:43
a3575181
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2016-12-13
得分:0 
回复 2楼 冷月闲照
对不起 这代码是老师给的代码 我已经换了另外一种方法做出来了
2019-09-19 02:10



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




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

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