|
|
package device.usbPlayer;
import device.Device;
import java.util.ArrayList;
public class UsbPlayer implements Device {
private ArrayList<String> Playlist = new ArrayList<String>(); private String playTrack = ""; private Boolean isConnected; private Boolean isDefect; int Lautstaerke = 0; public USB_Stick USBDrive = new USB_Stick();
public ArrayList<String> getPlaylist() { return Playlist; }
public void setPlaylist(ArrayList<String> playlist) { Playlist = playlist; }
public Boolean getDefect() { return isDefect; }
public void setDefect(Boolean defect) { isDefect = defect; }
public Boolean getConnected() { return isConnected; }
public void setConnected(Boolean connected) { isConnected = connected; }
public String getPlayTrack() { return playTrack; }
public void setPlayTrack(String playTrack) { if (this.findSong(playTrack) != -1) { this.playTrack = playTrack; } else System.out.println("The Song does not exist in the Albume"); }
public void setLautstaerke(int ls) { if (ls <= 100) { Lautstaerke = ls; } }
public int getLautstaerke() { return Lautstaerke; }
//*********constructure********
public UsbPlayer() { super(); isDefect = false; isConnected = true; /*Playlist.add("Musik 01.mp3"); Playlist.add("Musik 02.mp3"); Playlist.add("Musik 03.mp3"); playTrack = Playlist.get(0);*/ Playlist = USBDrive.getAlbum(); playTrack = Playlist.get(0);
}
//**********search method*************
public boolean isAllAudio() {
String song = ""; boolean flag = true;
for (int i = 0; i < Playlist.size(); i++) { song = Playlist.get(i).substring(Playlist.get(i).length() - 4); if (song.equals(".mp3") | song.equals(".mp4") | song.equals(".m4a") | song.equals(".wav") | song.equals(".wma") | song.equals(".aac")) { flag = true; } else { flag = false; break; } } return flag; }
//**********search method*************
@Override public void quieter() { if (Lautstaerke > 0) { Lautstaerke -= 1; } else { Lautstaerke = 0; } }
@Override public void louder() { if (Lautstaerke < 100) { Lautstaerke += 1; } else { Lautstaerke = 100; } }
public void Louder_10() { Lautstaerke += 10; if (Lautstaerke > 100) { Lautstaerke = 100; } }
public void quieter_10() { Lautstaerke -= 10; if (Lautstaerke < 0) { Lautstaerke = 0; } }
@Override public int getVolume() { return 0; }
@Override public void next() { int currentIdex = Playlist.indexOf(playTrack); int nextIndex = (currentIdex + 1) % Playlist.size(); playTrack = Playlist.get(nextIndex); }
@Override public void prev() { int currentIdex = Playlist.indexOf(playTrack); int nextIndex = Playlist.size() - 1; if (currentIdex != 0) { nextIndex = (currentIdex - 1); } playTrack = Playlist.get(nextIndex); }
@Override public String getInfoText() { return null; }
@Override public String[] getOptions() { return new String[0]; }
@Override public String chooseItem(int itemNr) { return null; }
@Override public String[] getItemList() { return null; }
@Override public String play() { String result = "USB : "; if (isConnected == true) { result += "connected,"; if (isDefect == false) { result += "working"; if (this.Playlist.size() != 0) { result += ",have a list"; if (this.isAllAudio()) { result += ",Audio"; if (!playTrack.equals("")) result += ",point to a track."; else result += ",doesn't point to a track."; } else { result += ",not Audio."; } } else result += ",have no list."; } else { result += "not working."; } } else result = "not connected."; return result;
}
public int findSong(String songName) {
int songIndex = -1, index = -1; String song;
for (int j = 0; j < getPlaylist().size(); j++) {
song = getPlaylist().get(j); songIndex = song.toLowerCase().indexOf(songName.toLowerCase());
if (songIndex != -1) { index = j; break; } } return index; }
public boolean GoTo(String songName) { if (findSong(songName) != -1) { playTrack = getPlaylist().get(findSong(songName));//songName;
return true; } else //playTrack = songName;
return false; }
public void GoToFirst() { //go to the first song in the list
setPlayTrack(getPlaylist().get(0)); }
public void GoToLast() { //go to the last Song
setPlayTrack(this.getPlaylist().get(this.getPlaylist().size() - 1)); } }
|