android安卓音乐播放器课程代码9.5.2
生活随笔
收集整理的這篇文章主要介紹了
android安卓音乐播放器课程代码9.5.2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
資源分布圖
MainActivity代碼
MusicService代碼
package com.example.music;import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.Binder; import android.os.Bundle; import android.os.IBinder; import android.os.Message;import java.util.Timer; import java.util.TimerTask;public class MusicService extends Service {private MediaPlayer player;private Timer timer;public MusicService() {}@Overridepublic IBinder onBind(Intent intent) {return new MusicControl();}@Overridepublic void onCreate() {super.onCreate();player = new MediaPlayer();}public void addTimer(){if (timer == null){timer = new Timer();TimerTask task = new TimerTask() {@Overridepublic void run() {if (player == null) return;int duration = player.getDuration();int currentPosition = player.getCurrentPosition();Message msg = MainActivity.handler.obtainMessage();Bundle bundle = new Bundle();bundle.putInt("duration",duration);bundle.putInt("currentPosition",currentPosition);msg.setData(bundle);MainActivity.handler.sendMessage(msg);}};timer.schedule(task,5,500);}}class MusicControl extends Binder{public void play(){try {player.reset();player = MediaPlayer.create(getApplicationContext(),R.raw.music);player.start();addTimer();}catch (Exception e){e.printStackTrace();}}public void pausePlay(){player.pause();}public void continuePlay(){player.start();}public void seekTo(int progress){player.seekTo(progress);}}@Overridepublic void onDestroy() {super.onDestroy();if (player == null) return;if (player.isPlaying()) player.stop();player.release();player = null;} }drawable資源
btn_bg_selector.xml
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/music_bg"android:gravity="center"android:orientation="vertical"><ImageViewandroid:id="@+id/iv_music"android:layout_width="240dp"android:layout_height="240dp"android:layout_gravity="center_horizontal"android:layout_margin="15dp"android:src="@drawable/music"/><SeekBarandroid:id="@+id/sb"android:layout_width="match_parent"android:layout_height="wrap_content"/><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:paddingLeft="8dp"android:paddingRight="8dp"><TextViewandroid:id="@+id/tv_progress"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="00:00"/><TextViewandroid:id="@+id/tv_total"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="00:00"/> </RelativeLayout> <LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/btn_play"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="播放音樂"/> <Buttonandroid:id="@+id/btn_pause"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="暫停播放"/> <Buttonandroid:id="@+id/btn_continue_play"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="繼續播放"/> <Buttonandroid:id="@+id/btn_exit"android:layout_width="0dp"android:layout_height="40dp"android:layout_margin="8dp"android:layout_weight="1"android:background="@drawable/btn_bg_selector"android:text="退出"/> </LinearLayout> </LinearLayout>圖片資源
剩下一個資源raw文件里面的音樂文件,放里面一個music名字的mp3文件就行。raw文件自己創建的。
總結
以上是生活随笔為你收集整理的android安卓音乐播放器课程代码9.5.2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JUnit详解
- 下一篇: C++ 小游戏 视频及资料集(7)