一、MediaPlayer对象常用方法介绍:
MediaPlayer mediaPlayer = new MediaPlayer(); if (mediaPlayer.isPlaying()) { mediaPlayer.reset();//重置为初始状态 } mediaPlayer.setDataSource("/mnt/sdcard/god.mp3"); mediaPlayer.prepare();//缓冲 mediaPlayer.start();//开始或恢复播放 mediaPlayer.pause();//暂停播放 mediaPlayer.start();//恢复播放 mediaPlayer.stop();//停止播放 mediaPlayer.release();//释放资源 mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {//播出完毕事件 @Override public void onCompletion(MediaPlayer arg0) { mediaPlayer.release(); } }); mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {// 错误处理事件 @Override public boolean onError(MediaPlayer player, int arg1, int arg2) { mediaPlayer.release(); return false; } });
二、音乐播放器实现:
1、加入权限:
<!-- 多媒体播放音乐 --> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> <!-- 监听电话状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
2、界面布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Button android:id="@+id/btnPlay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/editPlayFile" android:layout_marginTop="22dp" android:text="@string/play" android:onClick="mediaPlayer"/> <Button android:id="@+id/btnPause" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnReplay" android:layout_alignBottom="@+id/btnReplay" android:layout_toRightOf="@+id/btnReplay" android:text="@string/pause" android:onClick="mediaPlayer"/> <Button android:id="@+id/btnReplay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnStop" android:layout_alignBottom="@+id/btnStop" android:layout_toRightOf="@+id/btnStop" android:text="@string/replay" android:onClick="mediaPlayer"/> <Button android:id="@+id/btnStop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnPlay" android:layout_alignBottom="@+id/btnPlay" android:layout_toRightOf="@+id/btnPlay" android:text="@string/stop" android:onClick="mediaPlayer"/> <EditText android:id="@+id/editPlayFile" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/btnPlay" android:layout_alignParentTop="true" android:layout_alignRight="@+id/btnPause" android:layout_marginTop="44dp" android:text="11.mp3" android:ems="10" > <requestFocus /> </EditText> </RelativeLayout>