本文实例为大家分享了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小时内与您取得联系。