




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
音乐播放之进度条前提* android 自身也提供了该接口 似乎是:MediaController 但看过截图 发现极丑 所以今天就自己写了一个 现于诸位分享分享要求1. 进度条控件打算使用系统提供的SeekBar2. SeekBar 要支持拖拉功能 即:定点播放3. SeekBar 要反映播放位置 即:播放到哪 SeekBar 就在哪原理1. 音乐定点播放:MediaPlayer.seekTo(int msecond) /单位:毫秒2. 音乐文件播放时间:MediaPlayer.getDuration()3. SeekBar 获取位置:SeekBar.getProgress()4. SeekBar 最大值: SeekBar.getMax()代码 步骤1. 定义界面:main.xmlJava代码1. 1*Button:播放控制如:暂停继续2. 1*TextView:显示播放百分比3. 1*SeekBar:进度条4. 1*RadioGroup:显示所有sdcard音乐文件Java代码1. 2. LinearLayoutxmlns:android=/apk/res/android3. android:orientation=vertical4. android:layout_width=fill_parent5. android:layout_height=fill_parent6. 7. LinearLayoutxmlns:android=/apk/res/android8. android:orientation=horizontal9. android:layout_width=fill_parent10. android:layout_height=wrap_content11. 12. 19. 27. 28. 34. 2. View 初始化Java代码1. publicvoidinitialize()2. 3. sBar=(SeekBar)findViewById(R.id.seekb);4. rGroup=(RadioGroup)findViewById(R.id.radio);5. cmdButton=(Button)findViewById(R.id.cmd);6. 7. mPlayer=newMediaPlayer();8. 3. 拖动SeekBar 且播放指定位置的音乐Java代码1. sBar.setOnSeekBarChangeListener(newOnSeekBarChangeListener()2. 3. Override4. publicvoidonProgressChanged(SeekBarseekBar,intprogress,5. booleanfromUser)6. /TODOAuto-generatedmethodstub7. 8. 9. 10. Override11. publicvoidonStartTrackingTouch(SeekBarseekBar)12. /TODOAuto-generatedmethodstub13. 14. 15. Override16. publicvoidonStopTrackingTouch(SeekBarseekBar)17. /TODOAuto-generatedmethodstub18. intdest=seekBar.getProgress();19. 20. intmMax=mPlayer.getDuration();21. intsMax=sBar.getMax();22. 23. mPlayer.seekTo(mMax*dest/sMax);24. 25. 26. 27. );4. 刷新播放位置 且使其实时变化/因为MediaPlayer没有播放进度的回调函数 所以只能:开辟一个Thread 定时通知其刷新Java代码1. publicvoidstartProgressUpdate()2. /开辟Thread用于定期刷新SeekBar3. DelayThreaddThread=newDelayThread(100);4. dThread.start();5. 而该Thread 具体实现为:Java代码1. privateHandlermHandle=newHandler()2. Override3. publicvoidhandleMessage(Messagemsg)4. intposition=mPlayer.getCurrentPosition();5. 6. intmMax=mPlayer.getDuration();7. intsMax=sBar.getMax();8. 9. sBar.setProgress(position*sMax/mMax);10. 11. ;12. 13. publicclassDelayThreadextendsThread14. intmilliseconds;15. 16. publicDelayThread(inti)17. milliseconds=i;18. 19. publicvoidrun()20. while(true)21. try22. sleep(milliseconds);23. catch(InterruptedExceptione)24. /T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字经济背景下中小企业转型路径的探索
- 第6课 人口南移和民族交融教学设计-2025-2026学年中职历史中国历史高教版
- 户外夏日保健知识培训内容课件
- 建筑方案设计vs建筑施工图设计(3篇)
- 校园消防安全知识内容(3篇)
- 第1节 动物体对外界信息的获取教学设计-2025-2026学年高中生命科学沪科版第二册-沪科版
- 五年级数学(小数除法)计算题专项练习及答案
- 专利申请答复审查意见模板:审查意见答复(一通)模板
- 网状传播课件
- 网格防疫安全知识培训课件
- 静脉输血操作规范与风险防控
- 门市转租合同协议书
- 《探索《资本论》的奥秘》课件
- 2025年初级消防员试题及答案
- 临床化疗药物外渗预防及处理护理团体标准
- API RP 5A3-2023 套管、油管和管线管的螺纹脂推.荐方法
- 行政岗干货知识培训课件
- 小学音乐人音版三年级上册摇啊摇教案
- 《数鸡蛋》(教学设计)-2024-2025学年一年级上册数学北师大版
- 食品配送车辆管理制度
- 2025智联招聘行测题库及答案解析
评论
0/150
提交评论