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.

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