這篇文章給大家介紹怎么在Android中使用Service方法實現本地音樂播放,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1、主Activity控制音樂 的開始、暫停、停止、退出空能,(具體實現在下面MusicService.java中實現)
/**
* Activity播放廣播,返回鍵返回后,重新進入無法停止
*
* 通過start啟動服務的方式 控制音樂播放
*/
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Button btn_main_play;
private Button btn_main_stop;
private Button btn_main_pause;
private Button btn_main_exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_main_play = findViewById(R.id.btn_main_play);
btn_main_stop = findViewById(R.id.btn_main_stop);
btn_main_pause = findViewById(R.id.btn_main_pause);
btn_main_exit = findViewById(R.id.btn_main_exit);
btn_main_play.setOnClickListener(this);
btn_main_stop.setOnClickListener(this);
btn_main_pause.setOnClickListener(this);
btn_main_exit.setOnClickListener(this);
}
/**
* 按鈕點擊監聽事件 將點擊的類型傳給服務進行判斷
* @param v
*/
@Override
public void onClick(View v) {
Intent intent = new Intent(this,MusicService.class);
switch ( v.getId()){
case R.id.btn_main_play://播放
intent.putExtra("action","play");
startService(intent);
break;
case R.id.btn_main_stop://停止
intent.putExtra("action","stop");
startService(intent);
break;
case R.id.btn_main_pause://暫停
intent.putExtra("action","pause");
startService(intent);
break;
case R.id.btn_main_exit://退出并關閉音樂
//停止服務
stopService(intent);
finish();
break;
default:
}
}
}2、activity_main.xml布局代碼省略,效果圖如下:

3、創建音樂播放器處理流程的服務 MusicService.java:
/**
* 通過服務控制音樂的播放
*/
public class MusicService extends Service {
public MusicService() {
}
//創建播放器對象
private MediaPlayer player;
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//獲取MainActivity中 按鈕的點擊類型:根據不同類型處理不同事件
String action = intent.getStringExtra("action");
if ("play".equals(action)) {
//播放
playMusic();
} else if ("stop".equals(action)) {
//停止
stopMusic();
} else if ("pause".equals(action)) {
//暫停
pauseMusic();
}
return super.onStartCommand(intent, flags, startId);
}
/**
* 播放音樂
*/
public void playMusic() {
if (player == null ) {
player= MediaPlayer.create(this,R.raw.kkth_myr);
}
player.start();
}
/**
* 暫停播放
*/
public void pauseMusic() {
if (player != null && player.isPlaying()) {
player.pause();
}
}
/**
* 停止播放
*/
public void stopMusic() {
if (player != null) {
player.stop();
player.reset();//重置
player.release();//釋放
player = null;
}
}
@Override
public void onDestroy() {
super.onDestroy();
//在服務死亡之前停止音樂
stopMusic();
}
}關于怎么在Android中使用Service方法實現本地音樂播放就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。