国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android簡易音樂播放器實現代碼

2019-12-12 03:44:52
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android音樂播放器的具體代碼,供大家參考,具體內容如下

1.播放項目內的音樂

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.播放內存卡中的音樂

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.添加讀取內存的權限

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大姚县| 灵山县| 玛纳斯县| 云安县| 临洮县| 福建省| 赤壁市| 宁蒗| 阿克| 永寿县| 卓资县| 兰西县| 遂溪县| 商城县| 临澧县| 淄博市| 高密市| 白银市| 聂拉木县| 隆德县| 珠海市| 罗源县| 恭城| 万州区| 舞钢市| 屏山县| 东光县| 偏关县| 迁安市| 盐池县| 潮州市| 合江县| 绥芬河市| 神池县| 新竹市| 浮梁县| 台山市| 绥宁县| 水富县| 阆中市| 大邑县|