当前位置: 移动技术网 > IT编程>移动开发>Android > Android简易音乐播放器实现代码

Android简易音乐播放器实现代码

2019年07月24日  | 移动技术网IT编程  | 我要评论

电哪吒完整版,我的歌声里dj,优酷采访温城辉视频

本文实例为大家分享了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.添加读取内存的权限

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网