Android简易音乐播放器实现代码
生活随笔
收集整理的這篇文章主要介紹了
Android简易音乐播放器实现代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文實例為大家分享了Android音樂播放器的具體代碼,供大家參考,具體內容如下
1.播放項目內的音樂
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | package com.thm.g150820_android26_playmusic; import Android.media.MediaPlayer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.SeekBar; public class MainActivity extends AppCompatActivity { private MediaPlayer mediaPlayer; private SeekBar seekBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); seekBar = (SeekBar) findViewById(R.id.seekBar); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { ?@Override ?public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { ?} ?@Override ?public void onStartTrackingTouch(SeekBar seekBar) { ?} ?@Override ?public void onStopTrackingTouch(SeekBar seekBar) { ??//獲取拖動結束之后的位置 ??int progress = seekBar.getProgress(); ??//跳轉到某個位置播放 ??mediaPlayer.seekTo(progress); ?} }); } public void isPlayOrPause(View view){ //把View強轉為ImageButton ImageButton imageButton = (ImageButton) view; if(mediaPlayer==null) { ?//實例化MediaPlayer ?mediaPlayer = MediaPlayer.create(this, R.raw.yao); ?//開始播放 ?mediaPlayer.start(); ?//圖標修改為暫停的圖標 ?imageButton.setImageResource(android.R.drawable.ic_media_pause); ?//獲取音樂的總時長 ?int duration = mediaPlayer.getDuration(); ?//設置進度條的最大值為音樂的總時長 ?seekBar.setMax(duration); ?new MyThre().start(); }//判斷如果音樂在播放 else if(mediaPlayer.isPlaying()){ ?//就暫停音樂 ?mediaPlayer.pause(); ?//圖標修改為播放的圖標 ?imageButton.setImageResource(android.R.drawable.ic_media_play); }else{ ?mediaPlayer.start(); ?//圖標修改為暫停的圖標 ?imageButton.setImageResource(android.R.drawable.ic_media_pause); } } //寫內部類 class MyThre extends Thread{ @Override public void run() { super.run(); while(seekBar.getProgress()<=seekBar.getMax()){ ??//獲取當前音樂播放的位置 ??int currentPosition = mediaPlayer.getCurrentPosition(); ??//讓進度條動起來 ??seekBar.setProgress(currentPosition); ??} ?} } } |
2.播放內存卡中的音樂
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | package com.thm.g150820_android26_playmusic; import android.media.AudioManager; import android.media.MediaPlayer; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.SeekBar; import java.io.IOException; public class MainActivity extends AppCompatActivity { ?private MediaPlayer mediaPlayer; ?private SeekBar seekBar; ?@Override ?protected void onCreate(Bundle savedInstanceState) { ??super.onCreate(savedInstanceState); ??setContentView(R.layout.activity_main); ??seekBar = (SeekBar) findViewById(R.id.seekBar); ??seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { ???@Override ???public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { ???} ???@Override ???public void onStartTrackingTouch(SeekBar seekBar) { ???} ???@Override ???public void onStopTrackingTouch(SeekBar seekBar) { ????//獲取拖動結束之后的位置 ????int progress = seekBar.getProgress(); ????//跳轉到某個位置播放 ????mediaPlayer.seekTo(progress); ???} ??}); ?} ?public void isPlayOrPause(View view){ ??//把View強轉為ImageButton ??ImageButton imageButton = (ImageButton) view; ??if(mediaPlayer==null) { ???//實例化MediaPlayer ???//播放應用內的音樂 ???//mediaPlayer = MediaPlayer.create(this, R.raw.yao); ???//播放內存卡中的音樂 ???mediaPlayer = new MediaPlayer(); ???//設置類型 ???mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); ???//設置音樂路徑 ???try { ????mediaPlayer.setDataSource(this, Uri.parse("storage/sdcard0/Music/a.mp3")); ????//播放之前準備一下 ????mediaPlayer.prepare(); ???} catch (IOException e) { ????e.printStackTrace(); ???} ???//開始播放 ???mediaPlayer.start(); ???//圖標修改為暫停的圖標 ???imageButton.setImageResource(android.R.drawable.ic_media_pause); ???//獲取音樂的總時長 ???int duration = mediaPlayer.getDuration(); ???//設置進度條的最大值為音樂的總時長 ???seekBar.setMax(duration); ???new MyThre().start(); ??}//判斷如果音樂在播放 ??else if(mediaPlayer.isPlaying()){ ???//就暫停音樂 ???mediaPlayer.pause(); ???//圖標修改為播放的圖標 ???imageButton.setImageResource(android.R.drawable.ic_media_play); ??}else{ ???mediaPlayer.start(); ???//圖標修改為暫停的圖標 ???imageButton.setImageResource(android.R.drawable.ic_media_pause); ??} ?} ?//寫線程內部類 ?class MyThre extends Thread{ ??@Override ??public void run() { ???super.run(); ???while(seekBar.getProgress()<=seekBar.getMax()){ ????//獲取當前音樂播放的位置 ????int currentPosition = mediaPlayer.getCurrentPosition(); ????//讓進度條動起來 ????seekBar.setProgress(currentPosition); ???} ??} ?} } |
3.添加讀取內存的權限
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
如對本文有疑問,請提交到交流社區,廣大熱心網友會為你解答!! 點擊進入社區
總結
以上是生活随笔為你收集整理的Android简易音乐播放器实现代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python模块实例化_python中z
- 下一篇: Android如何实现简单音乐播放器的代