Android歌词秀设计思路(2)歌词处理

来源:西尖山笔记 责任编辑:栏目编辑 发表时间:2013-07-02 05:14 点击:
这次的内容是歌词处理模块LyricAdapter类。这个类的主要功能有
1.歌词文件的解析
2.对外提供歌词访问服务(歌词数取得,歌词内容,时间的取得等)
3.根据播放位置检索对应的歌词。
4.在歌词文件取得后和当前歌词变化以后通过登录的LyricListener进行通知。
 
先看看LyricAdapter类在整个软件中的位置。

从图中可以看出,LyricAdapter类和SafeTimer类一样,归LyricPlayerService管理,并位置提供服务。
 
接下来在说明LyricAdapter的功能之前,先让我们看看我们的处理对象,歌词文件的内容。打开一个歌词文件(*.lrc)可以看到以下内容。
  1. [ti:δ֪]   
  2. [ar:]   
  3. [al:Family Album, U.S.A.]   
  4. [by:SPJ]   
  5. [00:00.97]EPISODE 12    You're Tops   
  6. [00:06.20]ACT II   
  7. [00:10.52]Sam, would you come in, please?   
  8. [00:16.62]You sound like something's bothering you, Susan.   
  9. [00:19.15]The sketches for the cover of the new doll book?   
  10. [00:21.74]That's not it.   
  11. [00:23.35]Please sit down.   
  12. [00:24.56]Sure.   
  13. [00:30.31]I need your advice on a personsal matter,   
  14. [00:32.53]but it's not about me.   
  15. [00:35.12]You need my advice on a personal matter,   
  16. [00:36.89]and it's not about you. OK.   
  17. [00:40.01]It's about my grandfather.   
  18. [00:42.62]What's the problem?   
  19. [00:45.17]It won't sound like a big deal,  
 

除了前面的几个特殊的ti,ar,al,by等关键字以外的每一句歌词都是有包含在中括号中的时间和后面的歌词组成的。歌词处理模块的功能就是解析歌词文件并按照歌曲播放的时间选择合适的歌词表示就可以了。

 

下面来看一看今天的主角和配角吧。

LyricAdapter类主要提供以下功能

  1. 解析歌词文件并管理得到的信息。
  2. 提供访问歌词的接口(歌词语句数,取得特定歌词信息等)
  3. 根据提供的时间选择合适的歌词并将结果通知给LyricPlayerServie类。

 

SafetyTimer类主要提供以下功能

  1. 负责定时启动从MediaPlayer取得播放的当前时间并传达给LyricAdapter

 

LyricPlayerService类主要提供以下功能

  1. 负责控制LyricAdapter,SafetyTimer的创建
  2. 建立LyricPlayerService,LyricAdapter,SafetyTimer之间的联系。
  3. 控制LyricAdapter,SafetyTimer的动作
  4. 处理传出的LyricAdapter通知

 <

    相关新闻>>

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

      推荐热点

      • 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