一个完整android音乐播放器源码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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"

相关文档
最新文档