Android歌词秀设计思路(5)歌词播放服务

来源:西尖山笔记 责任编辑:栏目编辑 发表时间:2013-07-01 16:44 点击:

接下来说明一下,提供歌词播放器服务的LyricPlayerService。这个类在整个播放过程中的作用是

1.负责管理LyricAdapter的生命周期。

2.控制音乐播放,歌词解析,并且协调音乐与歌词同步。

3.收集超类,LyricAdapter发来的通知并传递给登录的LyricAdapterListener

首先是看一下这个类在全体图中的位置。

 

从图中我们可以明显的看出这个类处于整个图中的节点位置,光从这一点就可以理解这个类的重要性。

代码不多,简单说明一下。

首先是定义用于从LyricPlayerService接收状态变化通知的接口并提供了指定具象接口的方法。

在歌曲播放过程中,继续应用退出LyricPlayerService还会继续执行。这时如果重新启动播放器应用程序,就有一个重新建立联系,也就是播放中的LyricPlayerService指定接口的场景。在LyricPlayerService的设计中,会重新调用LyricPlayerListener的onLyricLoad和onLyricChanged方法。这样应该可以简化应用侧的实现。

  1. //定义接受播放器状态变化的接口
  2. public interface LyricPlayerListener{
  3. //播放位置发生变化
  4. public void onPositionChanged(long position);
  5. //播放器状态发生变化
  6. public void onStateChanged();
  7. //当前歌词变化
  8. public void onLyricChanged(int lyric_index);
  9. //歌词文件解析完了
  10. public void onLyricLoaded();
  11. }
  12. private LyricPlayerListener mLyricPlayerListener = null;
  13. void setLyricPlayerListener(LyricPlayerListener listener){
  14. mLyricPlayerListener = listener;
  15. if(mLyricPlayerListener != null)
  16. {
  17. //新设定Listener直接调用onLyricLoad方法,给以个准备表是内容的机会。
  18. mLyricPlayerListener.onLyricLoaded();
  19. int curLyric = mLyricAdapter.getCurrentLyric();
  20. if(curLyric >= 0 && curLyric < mLyricAdapter.getLyricCount()){
  21. //如果已经处于播放中状态,将现在歌词通知给Listener
  22. mLyricPlayerListener.onLyricChanged(curLyric);
  23. }
  24. }
  25. }

创建LyricAdapter的实例

  1. private<

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Android 完全退出程序
      • 原创:Android应用开发-Andorid歌词秀,含源码
      • android 屏幕保护
      • Android手机软件汉化教程---第四课 dex文件汉化
      • 众多Android 开源项目推荐,给力工作给力学习
      • Android Audio代码分析4
      • Android得到已安装的应用程序信息!
      • Android开发者指南(29) —— USB Host and Accessory
      • Android成长的幕后推手:工程师鲁宾
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1