package device.cdPlayer; import device.Device; import device.cdPlayer.exceptions.*; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CDPlayer implements Device { // 0-Leer; true-1 private int CdDriveContent=0; private int CdFlap=0; private int volume = 0; private String infoText=null; private List supportedFormats = new ArrayList(Arrays.asList(new String[] {"Audio","MP3","WMA","AAC"})); private String actualPlayTrack=""; private CD loadedCD=null; @Override public void louder() { if(volume < 100) { volume += 1; } else { volume = 100; } } @Override public void quieter() { if(volume > 0) { volume -= 1; } else { volume = 0; } } @Override public int getVolume() { return volume; } @Override public void next() { List playList = Arrays.asList(loadedCD.getPlayList()); int indexOfActualPlayTrack=playList.indexOf(actualPlayTrack); int indexOfNextPlayTrack=(indexOfActualPlayTrack+1)%loadedCD.getPlayList().length; //System.out.println("actualIndex= "+indexOfActualPlayTrack); this.actualPlayTrack=playList.get(indexOfNextPlayTrack ); //System.out.println("nextSong= "+actualPlayTrack); } @Override public void prev() { List playList = Arrays.asList(loadedCD.getPlayList()); int actualIndex=playList.indexOf(actualPlayTrack); if(actualIndex>0){ actualIndex-=1; }else{ actualIndex=0; } this.actualPlayTrack=playList.get(actualIndex); } @Override public String getInfoText() { if(infoText==null){ throw new ReturnValueNullException(); } return infoText; } @Override public String[] getOptions() { Method[] methods=this.getClass().getDeclaredMethods(); String[] outMethods=new String[methods.length]; for (int i = 0; i =0 && itemNr playList = Arrays.asList(loadedCD.getPlayList()); return playList.get(songNr); } public String getActualPlayTrack() { return actualPlayTrack; } public void setInfoText() { this.infoText=this.getClass().getSimpleName()+": Item->"+actualPlayTrack+" from Album->"+this.loadedCD.getAlbumName()+" running."; } public CD getCD() { return this.loadedCD; } }