91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在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

左云县| 运城市| 云梦县| 泽普县| 报价| 阳朔县| 胶南市| 清徐县| 平果县| 宝坻区| 吉安县| 凤翔县| 霍林郭勒市| 新野县| 犍为县| 什邡市| 柳河县| 利辛县| 潮安县| 南岸区| 郴州市| 恩平市| 永新县| 滕州市| 桃园市| 富宁县| 钦州市| 磴口县| 延长县| 布拖县| 淮北市| 略阳县| 杭锦后旗| 留坝县| 社会| 项城市| 阿克苏市| 五莲县| 台东市| 新昌县| 龙州县|