方法 | 功能 |
---|---|
setDataSource() | 指定音频文件路径 |
prepare() | 让MediaPlayer进入到准备状态 |
getDuration() | 获取歌曲长度 |
getCurrentPosition() | 获取现在播放到的位置 |
seekTo(int msec) | 播放到指定位置 |
isPlaying() | 是否正在播放 |
start() | 开始播放 |
pause() | 暂停播放 |
reset() | 应该是有些停止播放的意味,后面一般重新使MediaPlayer进入准备状态 |
release() | 释放资源 |
要实现的功能是音乐播放,并且歌曲切换(待补充),按照大致流程,包括:创建–>(准备)–>开始–>暂停。
分别对应方法create(),start(),pause(),而这三样操作是跟点击操作进行绑定的,所以要分别对应三个Onclick.
首先将下载好的.mp3文件存放在res目录下的raw目录中(需要创建)
布局文件:使用最简单的三图形按钮(Imagebutton)
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageButton
android:id="@+id/btn_last"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/last" />
<ImageButton
android:id="@+id/btn_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/on" />
<ImageButton
android:id="@+id/btn_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/next" />
</LinearLayout>
在Java文件中实现具体的方法,开头就是老方法
注册控件–>创建所使用的对象
ImageButton btn_play,btn_last,btn_next;
Boolean ispause = false;
final MediaPlayer mediaPlayer = MediaPlayer.create(this,R.raw.music1);
btn_play = findViewById(R.id.btn_play);
btn_last = findViewById(R.id.btn_last);
btn_next = findViewById(R.id.btn_next);
btn_play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {方法}
在对每个按钮都写一个监听器setOnClickListener,里面会重写方法,在开始按钮中绑定开始播放的功能和暂停的功能。就可以开始播放了,并且播放之后还要改变播放按钮的形状。
播放前:
播放后:
监听的书写
btn_play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mediaPlayer.isPlaying() && !ispause){
mediaPlayer.pause();
ispause=true;
btn_play.setImageResource(R.drawable.stop);
}
else {
mediaPlayer.start();
ispause=false;
btn_play.setImageResource(R.drawable.on);
}
}
});
这样就能够实现音乐播放的功能,但是只能单曲循环
其余功能还待完善