Project for Continous Integration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

235 lines
5.5 KiB

  1. package device.usbPlayer;
  2. import device.Device;
  3. import java.util.ArrayList;
  4. public class UsbPlayer implements Device {
  5. private ArrayList<String> Playlist = new ArrayList<String>();
  6. private String playTrack = "";
  7. private Boolean isConnected;
  8. private Boolean isDefect;
  9. int Lautstaerke = 0;
  10. public USB_Stick USBDrive = new USB_Stick();
  11. public ArrayList<String> getPlaylist() {
  12. return Playlist;
  13. }
  14. public void setPlaylist(ArrayList<String> playlist) {
  15. Playlist = playlist;
  16. }
  17. public Boolean getDefect() {
  18. return isDefect;
  19. }
  20. public void setDefect(Boolean defect) {
  21. isDefect = defect;
  22. }
  23. public Boolean getConnected() {
  24. return isConnected;
  25. }
  26. public void setConnected(Boolean connected) {
  27. isConnected = connected;
  28. }
  29. public String getPlayTrack() {
  30. return playTrack;
  31. }
  32. public void setPlayTrack(String playTrack) {
  33. if (this.findSong(playTrack) != -1) {
  34. this.playTrack = playTrack;
  35. } else System.out.println("The Song does not exist in the Albume");
  36. }
  37. public void setLautstaerke(int ls) {
  38. if (ls <= 100) {
  39. Lautstaerke = ls;
  40. }
  41. }
  42. public int getLautstaerke() {
  43. return Lautstaerke;
  44. }
  45. //*********constructure********
  46. public UsbPlayer() {
  47. super();
  48. isDefect = false;
  49. isConnected = true;
  50. /*Playlist.add("Musik 01.mp3");
  51. Playlist.add("Musik 02.mp3");
  52. Playlist.add("Musik 03.mp3");
  53. playTrack = Playlist.get(0);*/
  54. Playlist = USBDrive.getAlbum();
  55. playTrack = Playlist.get(0);
  56. }
  57. //**********search method*************
  58. public boolean isAllAudio() {
  59. String song = "";
  60. boolean flag = true;
  61. for (int i = 0; i < Playlist.size(); i++) {
  62. song = Playlist.get(i).substring(Playlist.get(i).length() - 4);
  63. if (song.equals(".mp3") | song.equals(".mp4") | song.equals(".m4a") | song.equals(".wav") | song.equals(".wma") | song.equals(".aac")) {
  64. flag = true;
  65. } else {
  66. flag = false;
  67. break;
  68. }
  69. }
  70. return flag;
  71. }
  72. //**********search method*************
  73. @Override
  74. public void quieter() {
  75. if (Lautstaerke > 0) {
  76. Lautstaerke -= 1;
  77. } else {
  78. Lautstaerke = 0;
  79. }
  80. }
  81. @Override
  82. public void louder() {
  83. if (Lautstaerke < 100) {
  84. Lautstaerke += 1;
  85. } else {
  86. Lautstaerke = 100;
  87. }
  88. }
  89. public void Louder_10() {
  90. Lautstaerke += 10;
  91. if (Lautstaerke > 100) {
  92. Lautstaerke = 100;
  93. }
  94. }
  95. public void quieter_10() {
  96. Lautstaerke -= 10;
  97. if (Lautstaerke < 0) {
  98. Lautstaerke = 0;
  99. }
  100. }
  101. @Override
  102. public int getVolume() {
  103. return 0;
  104. }
  105. @Override
  106. public void next() {
  107. int currentIdex = Playlist.indexOf(playTrack);
  108. int nextIndex = (currentIdex + 1) % Playlist.size();
  109. playTrack = Playlist.get(nextIndex);
  110. }
  111. @Override
  112. public void prev() {
  113. int currentIdex = Playlist.indexOf(playTrack);
  114. int nextIndex = Playlist.size() - 1;
  115. if (currentIdex != 0) {
  116. nextIndex = (currentIdex - 1);
  117. }
  118. playTrack = Playlist.get(nextIndex);
  119. }
  120. @Override
  121. public String getInfoText() {
  122. return null;
  123. }
  124. @Override
  125. public String[] getOptions() {
  126. return new String[0];
  127. }
  128. @Override
  129. public String chooseItem(int itemNr) {
  130. return null;
  131. }
  132. @Override
  133. public String[] getItemList() {
  134. return null;
  135. }
  136. @Override
  137. public String play() {
  138. String result = "USB : ";
  139. if (isConnected == true) {
  140. result += "connected,";
  141. if (isDefect == false) {
  142. result += "working";
  143. if (this.Playlist.size() != 0) {
  144. result += ",have a list";
  145. if (this.isAllAudio()) {
  146. result += ",Audio";
  147. if (!playTrack.equals(""))
  148. result += ",point to a track.";
  149. else
  150. result += ",doesn't point to a track.";
  151. } else {
  152. result += ",not Audio.";
  153. }
  154. } else result += ",have no list.";
  155. } else {
  156. result += "not working.";
  157. }
  158. } else result = "not connected.";
  159. return result;
  160. }
  161. public int findSong(String songName) {
  162. int songIndex = -1, index = -1;
  163. String song;
  164. for (int j = 0; j < getPlaylist().size(); j++) {
  165. song = getPlaylist().get(j);
  166. songIndex = song.toLowerCase().indexOf(songName.toLowerCase());
  167. if (songIndex != -1) {
  168. index = j;
  169. break;
  170. }
  171. }
  172. return index;
  173. }
  174. public boolean GoTo(String songName) {
  175. if (findSong(songName) != -1) {
  176. playTrack = getPlaylist().get(findSong(songName));//songName;
  177. return true;
  178. } else
  179. //playTrack = songName;
  180. return false;
  181. }
  182. public void GoToFirst() {
  183. //go to the first song in the list
  184. setPlayTrack(getPlaylist().get(0));
  185. }
  186. public void GoToLast() {
  187. //go to the last Song
  188. setPlayTrack(this.getPlaylist().get(this.getPlaylist().size() - 1));
  189. }
  190. }