Music Player With Desktop LRC Scolling - Java
来源:互联网 发布:华为麦芒4 4g网络设置 编辑:程序博客网 时间:2024/06/07 16:26
Music Player With Desktop LRC Scolling
Main Point:
- Deaktop Swing
- List Table And LRC Parse
- Show And Playing Music
// To Get Single LRC String sReg="(\\[\\d{2}:\\d{2}\\.\\d{2}\\])?(\\[\\d{2}:\\d{2}\\.\\d{2}\\])([^\\[\\]]+)";// Save To Linear Linked List public void insert(long time,String lrc){ U_Node node=new U_Node(time,lrc); while(time<=nowNode.previous.time){ nowNode=nowNode.previous; if(time==nowNode.time){ nowNode.lrcB=lrc; return; } } node.previous=nowNode.previous; node.previous.next=node; node.next=nowNode; nowNode.previous=node; length++; nowNode=tail; }
Desktop Swings:
jfParent = new JFrame(); jpMain=new JPanel(); jlLRC=new JLabel(); jlLRC.setText("If you look inside your heart"); jlLRC.setBackground(Color.black); jlLRC.setFont(new java.awt.Font("Dialog",1,36)); jlLRC.setForeground(Color.yellow); jpMain.add(jlLRC); jpMain.setBackground(Color.black); jfParent.setBackground(Color.black); jfParent.setContentPane(jpMain); jfParent.setBounds(iWidth/10*2,iHeight/10*8,iWidth/10*6,iHeight/10); jfParent.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jfParent.setUndecorated(true); //Dismiss The Border// jfParent.setAlwaysOnTop(true); jfParent.setVisible(true);
LRC Parse And Save To List Table:
if(!fLrc.exists()){ fAlert("None LRC File Found!"); return; } U_List uList=new U_List(); String sLrc=""; try{ sLrc=P_FileStream.fRead(fLrc); }catch(Exception e){ fAlert("LRC File Read Error!"); return; } String sReg="(\\[\\d{2}:\\d{2}\\.\\d{2}\\])?(\\[\\d{2}:\\d{2}\\.\\d{2}\\])([^\\[\\]]+)"; Pattern pPat=Pattern.compile("[\r\n]"); Matcher mMar=pPat.matcher(sLrc); pPat=Pattern.compile(sReg); mMar=pPat.matcher(mMar.replaceAll("")); while(mMar.find()){ try{ if(mMar.group(1)!=null) uList.insert(fGetLongTime(mMar.group(1)),mMar.group(3).trim()); if(mMar.group(2)!=null) uList.insert(fGetLongTime(mMar.group(2)),mMar.group(3).trim()); fAlert("LRC: "+mMar.group(3)+" AT: "+fGetLongTime(mMar.group(2))); }catch(Exception e){ fAlert("Error When Reg Lrc Sentence: "+e.toString()); } } fAlert("Length: "+uList.length());
Music Player And Show LRC:
try{Runtime run=Runtime.getRuntime();run.exec("\"C:\\Program Files\\Windows Media Player\\wmplayer.exe\"");fSleep(8*1000);run.exec("\"C:\\Program Files\\Windows Media Player\\wmplayer.exe\" E:\\Whisper_Y\\Temp\\hero.mp3");}catch(Exception e){fAlert("Error When Exec CMD!");}U_Node u;long lTemp; jlLRC.setForeground(Color.green); jlLRC.setFont(new java.awt.Font("French Script MT",1,48));while((u=uList.getAndNext())!=null){// fChangeLRCStyle(); //More Colors Or Fonts Could ChangelTemp=uList.getLongTime(); // Get Sleep TimejlLRC.setText(u.lrc);fAlert("=> Settext: "+u.lrc+" Time: "+u.time+" Sleep: "+lTemp);fSleep(lTemp);}jlLRC.setFont(new java.awt.Font("Arial",1,32));jlLRC.setText("Thank You For Using *** LRC Player!");fAlert("Finished!");
List Table:
public class U_List {private int length;private U_Node nowNode;private U_Node head;private U_Node tail;public U_List(){head=new U_Node(0,"Head");tail=new U_Node(0,"Tail");head.next=tail;tail.previous=head;nowNode=tail;}public int length(){return length;}public void insert(long time,String lrc){U_Node node=new U_Node(time,lrc);while(time<=nowNode.previous.time){nowNode=nowNode.previous;if(time==nowNode.time){nowNode.lrcB=lrc;return;}}node.previous=nowNode.previous;node.previous.next=node;node.next=nowNode;nowNode.previous=node;length++;nowNode=tail;}public U_Node get(){return nowNode;}public U_Node getAndNext(){if(nowNode==tail){nowNode=head;tail.time=tail.previous.time+100;return nowNode;}nowNode=nowNode.next;if(nowNode==tail)return null;return nowNode;}public long getLongTime(){return nowNode.next.time-nowNode.time;}public U_Node getHead(){return head;}}
Node Class:
public class U_Node {public long time;public U_Node next;public U_Node previous;public String lrc="";public String lrcB="";public U_Node(long time,String lrc){this.time=time;this.lrc=lrc;}}
Final Views:
- - Saturday, June 20, 2015
0 0
- Music Player With Desktop LRC Scolling - Java
- CenFun Music Player
- music player daemon
- commandline music player
- iOS music Player
- Music Player Daemon
- LITTLE MUSIC PLAYER
- Music player beta1.0
- html write music player
- RhythmCat - A music player with lyric show (only available for Linux)
- Instant Music Player for IE
- phonon music player 开发文档
- Smart iOS 7 Music Player
- synchronize light with music
- 读取Lrc-Java
- Java LRC 歌词解析
- Java 版本LRC校验
- Ezmo - Flex online music player预览
- leetcode--Integer to Roman
- java中的静态变量、静态方法与静态代码块
- 小白学 c--2第一个程序 hello world
- 黑马程序员——Java之String类、基本数据类型对象包装类等
- EmguCV 在 Visual Studio 中的配置
- Music Player With Desktop LRC Scolling - Java
- USACO——Palindromic Squares 回文平方数
- 我是一滴千年泪,女娲造人所剩水。不羡九宵天长久,为缘人间几轮回。
- 平安科技移动开发二队技术周报(第七期)
- 斑斑驳驳。伤情时节,镌为别离的箫瑟
- 跳马问题
- LD_PRELOAD应用--基于libvirt审计(上)
- leetcode--Find Peak Element
- MySQL常用命令