一个完整android音乐播放器源码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文出自:
/forum.php?mod=viewthread&tid=350&page=1&extra=#pid422
欢迎转载,转载请注明出自:安卓开发网
下面将和大家一起介绍一个音乐播放器项目,完成后的播放器具有暂停,下一首,前一首,歌曲列表,播放条进度等一些基本功能,它只是播放SDCARD上的.map文件,
Android SDK为我们提供了一个MeidaPlayer类,有了这个类我们可以很方便的创建一个mdeiaplayer服务,该类中具有一些方法:
MediaPlayer mp = new MediaPlayer();
// 设置文件存储路径
setDataSource("/sdcard/path_to_song");
// 播放
mp.start();
// 暂短
mp.pause();
// 复位
mp.reset();
// 获取当前播放时长
mp.getDuration();
// 进度条
mp.getCurrentDuration();
// Move song to particular second - used for Forward or Backward
mp.seekTo(positon); // position in milliseconds
// 检测歌曲是否正在播放
mp.isPlaying(); // returns true or false
1:音乐播放器的界面:
播放器界面中所用的一些布局图片,这些图片大家可以到android SDK文件夹下或是到网络中去寻找一些类似就可以,并不一定要这些图片,代码才是我们的关键,
3:然后我们需要写一个XML布局文件用于播放器的播按钮在不同状态下的图片,此XML文件保存在drawable文件夹下,
btn_play.xml
android:state_focused="true" android:state_pressed="true" /> android:state_focused="false" android:state_pressed="true" /> android:state_focused="true" /> android:state_focused="false" android:state_pressed="false" /> 提示:大家可以根据此XML文件完成其它的一些按钮布局文件,d 在这里就没有再为大家一一提供了, 4: 为了让播放器更绚,我们可以自定义一个SeekBar作为歌曲的播放进度,自定义风格代如下: (4.1)更换背景图片: seekbar_progress_bg.xml android:src="@drawable/img_seekbar_progress_blue" android:tileMode="repeat" android:antialias="true" android:dither="false" android:filter="false" android:gravity="left" /> (4.2)Changing SeekBar Progress: seekbar_progress.xml android:drawable="@drawable/img_seekbar_bg" android:dither="true"> android:startColor="#80028ac8" android:centerColor="#80127fb1" android:centerY="0.75" android:endColor="#a004638f" android:angle="270" /> android:id="@android:id/progress" android:drawable="@drawable/seekbar_progress_bg" /> (4.3)实际的Seekbar控件定义如下: android:id="@+id/songProgressBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="20dp" android:layout_marginLeft="20dp" android:layout_marginBottom="20dp" android:layout_above="@id/player_footer_bg" android:thumb="@drawable/seek_handler" android:progressDrawable="@drawable/seekbar_progress" android:paddingLeft="6dp" android:paddingRight="6dp"/> 5: 接下来我们将实现播放的整体界面的布局文件:player.xml android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/player_background"> android:id="@+id/player_header_bg" android:layout_width="fill_parent"