Android中从SD卡中获取歌词并与歌曲同步
2017-07-20 21:28
246 查看
先看看效果图吧,再看代码
1 private WordView mWordView; 2 private List mTimeList; 3 private MediaPlayer mPlayer; 4 private boolean isPause; 5 private boolean isStartTrackingTouch; 6 final Handler handler = new Handler(); 7 bt10 = (Button) findViewById(R.id.bt10); 8 bt10.setOnClickListener(new OnClickListener() { 9 @Override 10 public void onClick(View v) { 11 mPlayer.start(); 12 isPause = false; 13 new Thread(new Runnable() { 14 int i = 0; 15 @Override 16 public void run() { 17 while (mPlayer.isPlaying()) { 18 handler.post(new Runnable() { 19 @Override 20 public void run() { 21 mWordView.invalidate(); 22 } 23 }); 24 try { 25 int a = Integer.parseInt(String.valueOf(mTimeList 26 .get(i + 1))); 27 int b = Integer.parseInt(String.valueOf(mTimeList 28 .get(i))); 29 Thread.sleep(a - b); 30 } catch (Exception e) { 31 } 32 i++; 33 if (i == mTimeList.size() - 1) { 34 mPlayer.stop(); 35 break; 36 } 37 } 38 } 39 }).start(); 40 } 41 }); 42 bt11 = (Button) findViewById(R.id.bt11); 43 bt11.setOnClickListener(new OnClickListener() { 44 @Override 45 public void onClick(View v) { 46 mPlayer.pause(); 47 isPause = true; 48 } 49 }); 50 LrcHandle lrcHandler = new LrcHandle(); 51 String name1 = getIntent().getStringExtra("name"); 52 String str=name1.substring(0,name1.indexOf('.')); 53 String str1=str+".lrc"; 54 String name2 = getIntent().getStringExtra("name"); 55 mWordView = (WordView) findViewById(R.id.text); 56 mWordView.setName(str1); 57 mPlayer = new MediaPlayer(); 58 mPlayer.reset(); 59 try { 60 lrcHandler.readLRC("/sdcard/"+str1); 61 mTimeList = lrcHandler.getTime(); 62 mPlayer.setDataSource("/sdcard/"+name2); 63 mPlayer.prepare(); 64 } catch (IOException e) { 65 e.printStackTrace(); 66 } catch (IllegalArgumentException e) { 67 e.printStackTrace(); 68 } catch (SecurityException e) { 69 e.printStackTrace(); 70 } catch (IllegalStateException e) { 71 e.printStackTrace(); 72 }代码
相关文章推荐
- Android VLC播放器二次开发3——音乐播放(歌曲列表+歌词同步滚动)
- Android 实现歌曲播放时歌词同步显示
- Android 实现歌曲播放时歌词同步显示
- Android中解析lrc歌词 同步歌曲
- Android 实现歌曲播放时歌词同步显示
- Android_播放器_利用Service通过MediaPlayer播放歌曲并完成歌词同步绘制
- Android实现歌曲播放时歌词同步显示具体思路
- Android判断是否存在外置SD卡(获取手机所有存储设备的路径)
- Android判断获取内置外置sd卡
- Android实例]------获取sd卡图片显示出来
- Android 获取SD卡无发及时更新存储信息
- 详解Android中获取SD卡和内存的空间信息
- Android获取SD卡上图片和视频文件及其缩略图
- Android 获取SD卡上的多媒体文件
- android系统信息(内存、cpu、sd卡、电量、版本)获取
- android sd卡路径正确获取 双sd卡获取
- Android练习项目 Mp3播放器实现 歌词同步播放(四)
- android 获取SD卡的图片及其路径
- android获取手机和sd卡上音乐列表
- Android 超简单音乐播放器(十一)将获取的歌词存入数据库