📄 basicplaylist.java
字号:
bw.newLine(); Iterator<PlayListItem> it = playList.iterator(); while (it.hasNext()) { PlayListItem pli = it.next(); bw.write("#EXTINF:" + pli.getM3UExtInf()); bw.newLine(); bw.write(pli.getLocation()); bw.newLine(); } return true; } catch (IOException e) { } finally { try { if (bw != null) { bw.close(); } } catch (IOException ioe) { } } } return false; } public void addItemAt(PlayListItem pli, int pos) { playList.add(pos, pli); for (int i = 0; i < playList.size(); i++) { if (playList.get(i).isSelected()) { currentIndex = i; } } setModified(true); if (Config.getConfig().getReadTagInfoStrategy().equals(Config.READ_WHEN_ADD)) { pli.getTagInfo(); } } public void removeItem(PlayListItem pli) { playList.remove(pli); setModified(true); for (int i = 0; i < playList.size(); i++) { if (playList.get(i).isSelected()) { currentIndex = i; } } } public void removeItemAt(int pos) { playList.remove(pos); setModified(true); for (int i = 0; i < playList.size(); i++) { if (playList.get(i).isSelected()) { currentIndex = i; } } } public void removeAllItems() { playList.clear(); currentIndex = -1; setModified(true); } public void appendItem(PlayListItem pli) { playList.add(pli); setModified(true); if (Config.getConfig().getReadTagInfoStrategy().equals(Config.READ_WHEN_ADD)) { pli.getTagInfo(); } } public void sortItems(int sortmode) { } public PlayListItem getItemAt(int pos) { if (pos < playList.size() && pos > -1) { return playList.get(pos); } return null; } public Vector<PlayListItem> getAllItems() { return playList; } public int getPlaylistSize() { return playList.size(); } public void shuffle() { int size = playList.size(); if (size < 2) { return; } List<PlayListItem> v = playList; playList = new Vector<PlayListItem>(size); while ((size = v.size()) > 0) { playList.add(v.remove((int) (Math.random() * size))); } begin(); //此次可能不一定需要这个方法,因为本身此方法就是打 //乱播放列表的顺序,所以此时再点击下一首不一定就是 //当前播放的歌曲的下一首 for (int i = 0; i < playList.size(); i++) { if (playList.get(i).isSelected()) { currentIndex = i; } } } public PlayListItem getCursor() { if ((currentIndex < 0) || (currentIndex >= playList.size())) { return null; } return getItemAt(currentIndex); } public void begin() { currentIndex = -1; if (getPlaylistSize() > 0) { currentIndex = 0; } setModified(true); } public int getSelectedIndex() { return currentIndex; } public int getIndex(PlayListItem pli) { return playList.indexOf(pli); } public void nextCursor() { //如果是随机播放,则随机取一个下标 if (config.getPlayStrategy() == Config.RANDOM_PLAY) { currentIndex = (int) (Math.random() * playList.size()); //否则就按顺序 } else if (config.getPlayStrategy() == Config.ORDER_PLAY) { currentIndex++; } if (config.isRepeatEnabled() && currentIndex >= playList.size()) { currentIndex = 0; } } public void previousCursor() { //如果是随机播放,则随机取一个下标 if (config.getPlayStrategy() == Config.RANDOM_PLAY) { currentIndex = (int) (Math.random() * playList.size()); //否则就按顺序 } else if (config.getPlayStrategy() == Config.ORDER_PLAY) { currentIndex--; } if (config.isRepeatEnabled() && currentIndex < 0) { currentIndex = playList.size() - 1; } } public boolean setModified(boolean set) { return isModified = set; } public boolean isModified() { return isModified; } public void setCursor(int index) { currentIndex = index; playing = playList.get(index); } public void setName(String name) { this.name = name; } public String getName() { return name; } /** * Get M3U home for relative playlist. * * @return */ public String getM3UHome() { return M3UHome; } /** * Set optional M3U home for relative playlist. * * @param string */ public void setM3UHome(String string) { M3UHome = string; } /** * Get PLS home for relative playlist. * * @return */ public String getPLSHome() { return PLSHome; } /** * Set optional PLS home for relative playlist. * * @param string */ public void setPLSHome(String string) { PLSHome = string; } public String toString() { return name; } public void setItemSelected(PlayListItem pl, int index) { if (pl == null) { return; }// for (PlayListItem p : playList) {// p.setSelected(false);// }// pl.setSelected(true); this.currentIndex = index; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -