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

首頁 > 系統 > Android > 正文

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

2019-10-23 19:47:49
字體:
來源:轉載
供稿:網友

本文實例為大家分享了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.添加讀取內存的權限

Android,音樂播放器

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹东市| 乌审旗| 新密市| 安化县| 安化县| 新干县| 文登市| 保山市| 康保县| 安庆市| 正蓝旗| 望奎县| 顺昌县| 通化市| 湖北省| 台山市| 玛多县| 泊头市| 九寨沟县| 新和县| 庆元县| 苍溪县| 高邮市| 揭阳市| 广汉市| 体育| 门头沟区| 甘洛县| 仁寿县| 上高县| 闽侯县| 大丰市| 鸡西市| 西丰县| 论坛| 安溪县| 改则县| 出国| 屏东县| 乌海市| 张家口市|