(六)播放暂停、下一曲、上一曲功能实现
生活随笔
收集整理的這篇文章主要介紹了
(六)播放暂停、下一曲、上一曲功能实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據展示后需要實現播放功能,播放采用的是在后臺開啟一個service
這里先不寫service的內容,只說基本的播放暫停和下一曲上一曲的邏輯
具體實現方式如下:
//播放/暫停 public boolean playstop() {if (index != -1) {//判斷是不是第一次進入 //暫停/播放 if (mediaPlayer.isPlaying()) {mediaPlayer.pause(); return false; } else {mediaPlayer.start(); timer();//開啟定時器 return true; }} else {Toast.makeText(this, "未選中任何歌曲", Toast.LENGTH_SHORT).show(); return false; } }/** * 上一曲 * 下一曲 */ public int playcontrol(int playsong) {switch (playsong) {case 1:if (index != -1) {//判斷是不是剛進入 //上一曲 while (musicList.get(--index).type == 0) {//到最后一個元素 if (index == 0) {index = musicList.size(); }}play(); } else {Toast.makeText(this, "未選中任何歌曲", Toast.LENGTH_SHORT).show(); }break; case 3://下一曲 if (index != -1) {//判斷是不是剛進入 if (index == musicList.size() - 1) {//歌曲是最后一個元素 從第一個元素開始遍歷 index = 0; while (musicList.get(++index).type == 0) {}play(); } else {//歌曲不是最后一個元素 while (musicList.get(++index).type == 0) {//到最后一個元素 if (index == musicList.size() - 1) {index = 0; }}play(); }} else {Toast.makeText(this, "未選中任何歌曲", Toast.LENGTH_SHORT).show(); }break; }return index; } /** * 歌曲播放完成監聽 * * @param mediaPlayer */ @Override public void onCompletion(MediaPlayer mediaPlayer) {if (index != -1) {if (index == musicList.size() - 1) {//歌曲是最后一個元素 從第一個元素開始遍歷 index = 0; while (musicList.get(++index).type == 1) {play(); }} else {//歌曲不是最后一個元素 while (musicList.get(++index).type == 0) {//到最后一個元素 if (index == musicList.size() - 1) {index = 0; }}play(); }//將播放的音樂序號用廣播發送 Intent indexIntent = new Intent("playindex"); indexIntent.putExtra("musicindex", index); localBroadcastManager.sendBroadcast(indexIntent); }}總結
以上是生活随笔為你收集整理的(六)播放暂停、下一曲、上一曲功能实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首次力压 macOS!Linux 杀疯了
- 下一篇: HTTPS安全性