Guest User

Untitled

a guest
Jun 19th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. import javazoom.jl.player.Player;
  8.  
  9. import org.blinkenlights.jid3.ID3Tag;
  10. import org.blinkenlights.jid3.MP3File;
  11. import org.blinkenlights.jid3.v1.ID3V1Tag;
  12. import org.blinkenlights.jid3.v1.ID3V1_1Tag;
  13. import org.blinkenlights.jid3.v2.ID3V2Tag;
  14.  
  15. public class MP3Object extends Thread
  16. {
  17. private String file;
  18. private Player player;
  19. private Map<String, String> tags;
  20.  
  21. public void die()
  22. {
  23. player.close();
  24. }
  25.  
  26. public void pause()
  27. {
  28. player.pause();
  29. }
  30.  
  31. public void unpause()
  32. {
  33. player.resume();
  34. }
  35.  
  36. public MP3Object(String filename) throws FileNotFoundException
  37. {
  38. File f = new File(filename);
  39. if(f.exists())
  40. {
  41. file = filename;
  42. try
  43. {
  44. findTags();
  45. }
  46. catch (Exception e)
  47. {
  48. e.printStackTrace();
  49. }
  50. }
  51. else
  52. {
  53. throw new FileNotFoundException();
  54. }
  55. }
  56.  
  57. public void run()
  58. {
  59. try
  60. {
  61. player = new Player(new FileInputStream(file));
  62. player.play();
  63. }
  64. catch (Exception e)
  65. {
  66. e.printStackTrace();
  67. }
  68. }
  69.  
  70. private void findTags() throws Exception
  71. {
  72. int version = 0;
  73. tags = new HashMap<String, String>();
  74. ID3Tag[] taglist = (new MP3File(new File(file))).getTags();
  75. for (int i = 0; i < taglist.length; i++)
  76. {
  77. if (taglist[i] instanceof ID3V2Tag && version < 2)
  78. {
  79. tags.put("Title", ((ID3V2Tag) taglist[i]).getTitle());
  80. tags.put("Track", Integer.toString(((ID3V2Tag) taglist[i]).getTrackNumber()));
  81. tags.put("Album", ((ID3V2Tag) taglist[i]).getAlbum());
  82. tags.put("Artist", ((ID3V2Tag) taglist[i]).getArtist());
  83. tags.put("Year", Integer.toString(((ID3V2Tag) taglist[i]).getYear()));
  84. tags.put("Genre", ((ID3V2Tag) taglist[i]).getGenre());
  85. version = 2;
  86. }
  87. else if (taglist[i] instanceof ID3V1Tag && version < 1)
  88. {
  89. tags.put("Title", ((ID3V1Tag) taglist[i]).getTitle());
  90. tags.put("Track", Integer.toString(((ID3V1_1Tag) taglist[i]).getAlbumTrack()));
  91. tags.put("Album", ((ID3V1Tag) taglist[i]).getAlbum());
  92. tags.put("Artist", ((ID3V1Tag) taglist[i]).getArtist());
  93. tags.put("Year", ((ID3V1Tag) taglist[i]).getYear());
  94. tags.put("Genre", ((ID3V1Tag) taglist[i]).getGenre().toString());
  95. version = 1;
  96. }
  97. }
  98. tags.put("Title", (tags.get("Title") == null) ? "Unknown" : tags.get("Title"));
  99. tags.put("Track", (tags.get("Track") == null) ? "" : tags.get("Track"));
  100. tags.put("Album", (tags.get("Album") == null) ? "Unknown" : tags.get("Album"));
  101. tags.put("Artist", (tags.get("Artist") == null) ? "Unknown" : tags.get("Artist"));
  102. tags.put("Year", (tags.get("Year") == null) ? "" : tags.get("Year"));
  103. tags.put("Genre", (tags.get("Genre") == null) ? "" : tags.get("Genre"));
  104. }
  105.  
  106. public String getTag(String which)
  107. {
  108. return tags.get(which);
  109. }
  110.  
  111. public static void main(String[] args)
  112. {
  113. try
  114. {
  115. MP3Object mp3o = new MP3Object("C:\\Documents and Settings\\Chaz\\My Documents\\My Music\\test.mp3");
  116.  
  117. System.out.println("Title: "+mp3o.getTag("Title"));
  118. System.out.println("Album: "+mp3o.getTag("Album"));
  119. System.out.println("Track: "+mp3o.getTag("Track"));
  120. System.out.println("Genre: "+mp3o.getTag("Genre"));
  121. System.out.println("Artist: "+mp3o.getTag("Artist"));
  122. System.out.println("Year: "+mp3o.getTag("Year"));
  123.  
  124. mp3o.start();
  125. Thread.sleep(5000);
  126. mp3o.pause();
  127. Thread.sleep(5000);
  128. mp3o.unpause();
  129. }
  130. catch (Exception e)
  131. {
  132. e.printStackTrace();
  133. }
  134. }
  135. }
Add Comment
Please, Sign In to add comment