亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android中使用Service方法實現本地音樂播放

發布時間:2021-03-31 16:04:14 來源:億速云 閱讀:597 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在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布局代碼省略,效果圖如下:

怎么在Android中使用Service方法實現本地音樂播放

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方法實現本地音樂播放就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云安县| 赤壁市| 龙南县| 大同县| 莲花县| 家居| 东兰县| 边坝县| 齐河县| 宁夏| 凭祥市| 阜南县| 锦屏县| 大余县| 柯坪县| 上虞市| 武穴市| 兴隆县| 仙游县| 昂仁县| 林周县| 拜城县| 绥阳县| 阿图什市| 河曲县| 启东市| 肃宁县| 竹北市| 双柏县| 清新县| 邛崃市| 普陀区| 伊吾县| 进贤县| 酒泉市| 石渠县| 闵行区| 井研县| 承德市| 铜陵市| 姚安县|