`
wangxiaohigh
  • 浏览: 1430221 次
文章分类
社区版块
存档分类
最新评论

Android中music播放器源码要点详解【安卓music源码进化一】

 
阅读更多

最近来了个安卓music的bug,播放music的时候,点击上一首播放当前歌,从头开始播放。谷歌公司当初设计的思想是按照以前cd的思想,点击一下回到当前歌的开始点,再点击一下(时间间隔要短,就像双击的效果就可以了)就回到上一首歌了。谷歌的这种思想初衷是好的,但是有个拖动条可以拖动,歌曲可以在任何位置播放,就没有必要这么设计了。对开发来说这个设计没什么,但是对用户来说,用户体验相当不好。个人观点:其实谷歌公司也没有从中国用户的角度来考虑这个问题吧,或许在美国这个设计思路,美国公民是接受的。闲话少说,先来看看截图:图(1),图(2)。大明原创,转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/6990477

图(1) 图(2)

下面来看代码:

在源码中..\packages\apps\Music\src\com\android\music\MediaPlaybackActivity.java类中,423行代码:

mPrevListener 监听器,监听播放前一首button按钮,大明提醒:安卓点击屏幕的button键,点击一下事件发出一个消息,一直按着也发一个消息,这点和实体键有区别。双击的效果就可以用播放歌大小(这个大小我个人感觉是size,byte字节的大小,没有细细研究,个人猜测。),但是这种设计会有弊端,用户在刚播放音乐的时候,1秒内点击播放上一首歌,同样可以返回到上一首歌,这点谷歌没有想到吧,用户什么情况都可能发生的。

如果想修改,很简单,就在onClick()方法中,不做判断,直接mService.prev(); 就行了,记得try--catch包住,这样就可以了。但是谷歌的这个思想会给我带来很多启发,所以我写出来,同样希望给读者带来启发。给大家分享一下。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics