⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listplayer.java

📁 用Java编写的一个可下载MP3
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package org.serain.shmily.player;import java.io.*;import java.util.*;/** * * @author Administrator */public class ListPlayer {      List<String> list=new ArrayList<String>();    private int index;//当前播放歌曲素引    private Mp3Player player=null;//当前mp3播放器    private boolean next=false;//判断是否按了下一曲    private boolean dosome=false;//判断是否按了上一曲    private boolean stop=false;//判断是否按了停止    private boolean click=false;        public  ListPlayer(List<String> list,int index){//listplayer初始化        this.list=list;        this.index=index;       }    public void changList(List<String>list,int index){//更换播放列表        this.list=list;        this.index=index;       }    public void startId(int id){//播放某首歌        try {              if(player!=null && player.isAlive()){//判断当前是否有歌曲在播放                player.stope();            }            index=id;//更新当前播放素引            String indexPath = list.get(id);            player = new Mp3Player(new File(indexPath));//启动新播放线程            player.start();            Thread listener=new Thread(new Runnable(){//监听是否结束                public void run(){                    synchronized(player){                        try {                            player.wait();                        } catch (InterruptedException ex) {                            ex.printStackTrace();                        }                    }                    if(!dosome )//如果不是按的上一曲或者下一曲则自动跳到下一曲                    next2();                    dosome=false;//重设标志                }            });            listener.start();        } catch (Exception e) {            e.printStackTrace();        }             }    public void play(){//当前播放线程播放        if(player!=null && player.isAlive())//判断是否有歌曲在播放或者是否线程还在运行            player.play();        else            startId(index);    }    public void pause(){//当前播放线程暂停        if(player!=null && player.isAlive())//判断是否有歌曲在播放或者是否线程还在运行        player.pause();    }    public void stop(){//当前播放线程停止       if(player!=null && player.isAlive()){//判断是否有歌曲在播放或者是否线程还在运行        dosome=true;        player.stope();       }    }    public void add(String path){//增加一首歌        list.add(path);    }    public void remove(int id){//移除一首歌        list.remove(id);    }    public void previous(){//前首歌        dosome=true;        if(index-1<0){//到了最前面            startId(list.size()-1);//最后一首歌                 }else{            startId(index-1);        }          }    public void next(){//后首歌        dosome=true;        if(index+1>=list.size()){//到了末尾            startId(0);//第一首歌                  }else{            startId(index+1);        }            }    public void next2(){//后首歌        if(index+1>=list.size()){//到了末尾            startId(0);//第一首歌                  }else{            startId(index+1);        }            }    public void playClick(int id){        dosome=true;        startId(id);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -