全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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

更多关于播放器的内容请点击《java播放器功能》进行学习。

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


# Android  # 音乐播放器  # Android实现简单音乐播放器(MediaPlayer)  # 教你轻松制作Android音乐播放器  # android暂停或停止其他音乐播放器的播放实现代码  # Android编程开发音乐播放器实例  # Android音乐播放器制作 扫描本地音乐显示在手机(一)  # android实现音乐播放器进度条效果  # Android MediaPlayer实现音乐播放器实例代码  # 简单实现Android本地音乐播放器  # Android 音乐播放器的开发实例详解  # Android实现简单的音乐播放器  # 时长  # 播放器  # 进度条  # 拖动  # 值为  # 跳转到  # 音乐播放  # 结束之后  # 内存卡  # 请点击  # 大家分享  # 更多关于  # 具体内容  # 大家多多  # mediaPlayer  # private  # seekBar  # Override  # protected  # extends 


相关文章: 香港服务器选型指南:免备案配置与高效建站方案解析  电商网站制作价格怎么算,网上拍卖流程以及规则?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  制作网站的基本流程,设计网站的软件是什么?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  长沙做网站要多少钱,长沙国安网络怎么样?  制作网站怎么制作,*游戏网站怎么搭建?  如何选择服务器才能高效搭建专属网站?  如何在阿里云域名上完成建站全流程?  如何通过西部数码建站助手快速创建专业网站?  如何确认建站备案号应放置的具体位置?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  制作网站的模板软件,网站怎么建设?  焦点电影公司作品,电影焦点结局是什么?  宝塔建站后网页无法访问如何解决?  建站之星如何快速更换网站模板?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  非常酷的网站设计制作软件,酷培ai教育官方网站?  开源网站制作软件,开源网站什么意思?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  中山网站推广排名,中山信息港登录入口?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  制作表格网站有哪些,线上表格怎么弄?  广州建站公司哪家好?十大优质服务商推荐  宿州网站制作公司兴策,安徽省低保查询网站?  手机网站制作与建设方案,手机网站如何建设?  如何在阿里云通过域名搭建网站?  如何配置IIS站点权限与局域网访问?  网站企业制作流程,用什么语言做企业网站比较好?  制作网站的公司有哪些,做一个公司网站要多少钱?  自助网站制作软件,个人如何自助建网站?  如何续费美橙建站之星域名及服务?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  建站之星2.7模板:企业网站建设与h5定制设计专题  创业网站制作流程,创业网站可靠吗?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  宝塔建站助手安装配置与建站模板使用全流程解析  如何快速上传自定义模板至建站之星?  常州企业建站如何选择最佳模板?  建站VPS选购需注意哪些关键参数?  如何批量查询域名的建站时间记录?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  建站之星如何一键生成手机站?  建站主机选虚拟主机还是云服务器更好?  如何在阿里云购买域名并搭建网站?  制作网页的网站有哪些,电脑上怎么做网页?  宝塔面板创建网站无法访问?如何快速排查修复?  如何用y主机助手快速搭建网站?  实例解析angularjs的filter过滤器 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。