zoukankan      html  css  js  c++  java
  • java制作的applet小型播放器

    import java.applet.Applet;
    import java.applet.AudioClip;
    import java.awt.Button;
    import java.awt.Choice;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    public class AudioChoiceTest extends Applet implements ActionListener
    {
        //程序中声音名字
        public final String[] AUDIO={"chengyixun","lengku","wangluodang"};
        //包含上述字符串数组的下拉框
        private Choice choice;
        private AudioClip[] clips;
        //控制播放停止的按钮
        private Button playClip;
        private Button loopClip;
        private Button stopClip;
        private Button stopAllClips;
        
        //跟踪当前哪些音频在播放
        private boolean[] clipsPlaying;
        
        public void init()
        {
            setBackground(new Color(48,255,0));
    
            //构建下拉框和AudioClip对象
            choice=new Choice();
            clips=new AudioClip[AUDIO.length];
            clipsPlaying=new boolean[AUDIO.length];
            for(int i=0;i<AUDIO.length;i++)
            {
                choice.add(AUDIO[i]);
                clips[i]=getAudioClip(getCodeBase(),"audio/"+AUDIO[i]+".MID");
                //标志这个音乐是否在播放
                clipsPlaying[i]=false;
                
            }
            add(choice);
            playClip=new Button("Play clip");
            playClip.addActionListener(this);
            add(playClip);
            loopClip=new Button("Loop clip");
            loopClip.addActionListener(this);
            add(loopClip);
            stopClip=new Button("Stop clip");
            stopClip.addActionListener(this);
            add(stopClip);
            
            stopAllClips=new Button("Stop all clips");
            stopAllClips.addActionListener(this);
            add(stopAllClips);
            
            //如果没什么要停止的话把按钮变灰
            stopClip.setEnabled(false);
            stopAllClips.setEnabled(false);
        }
        
        //停止所有音频的播放
        //Overrides: stop() in Applet
        /*Called by the browser or applet viewer to inform this applet that it should stop its execution. 
        It is called when the Web page that contains this applet has been replaced by another page, and
         also just before the applet is to be destroyed.
         */
    //不要stop这个函数也没关系 public void stop() { for(int i=0;i<AUDIO.length;i++) { if(clipsPlaying[i]) clips[i].stop(); } } public void actionPerformed(ActionEvent e) { int clipIndex=choice.getSelectedIndex(); AudioClip clip=clips[clipIndex]; if(e.getSource()==playClip) { clip.play(); stopClip.setEnabled(true); stopAllClips.setEnabled(true); clipsPlaying[clipIndex]=true; } else if(e.getSource()==loopClip) { clip.loop(); stopClip.setEnabled(true); stopAllClips.setEnabled(true); clipsPlaying[clipIndex]=true; } else if(e.getSource()==stopClip) { clip.stop(); stopClip.setEnabled(false); stopAllClips.setEnabled(false); clipsPlaying[clipIndex]=false; //只要有一个音频片段在播放就激活停止按钮 for(int i=0;i<AUDIO.length;i++) { if(clipsPlaying[i]) { stopClip.setEnabled(true); stopAllClips.setEnabled(true); break; } } }//end else if else if(e.getSource()==stopAllClips) { for(int i=0;i<AUDIO.length;i++) { if(clipsPlaying[i]) { clips[i].stop(); clipsPlaying[i]=false; } } stopClip.setEnabled(false); stopAllClips.setEnabled(false); } }// actionPerformed }

  • 相关阅读:
    ORA-01439: column to be modified must be empty to change datatype
    解决rhel相关系统下yum找不到安装包的解决方法
    oracle的function和procedure返回值给shell
    [摘] SQLPLUS Syntax
    Unix/Linux中shell调用sqlplus的方式
    sqlplus连接数据库的4种方式
    shell调用sqlplus批量执行sql文件
    shell自定义函数
    Java创建Oracle数据库表
    TCP的三次握手(建立连接)和四次挥手(关闭连接)
  • 原文地址:https://www.cnblogs.com/youxin/p/2464940.html
Copyright © 2011-2022 走看看