Android仿音乐播放器功能
发布时间 - 2026-01-10 22:59:42 点击率:次本文实例为大家分享了Android仿音乐播放器功能的具体代码,供大家参考,具体内容如下

读取本地音乐文件
源代码:
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;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private SeekBar seekBar;
private TextView tv_mian_stop;
private TextView tv_mian_start;
private int musicaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_mian_start = (TextView) findViewById(R.id.tv_mian_start);
tv_mian_stop = (TextView) findViewById(R.id.tv_mian_stop);
seekBar = (SeekBar) findViewById(R.id.seekBar);
//进度条的监听事件
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//改变
//每当进度条发生改变时tv_mian_start的值发生变化
//new TimeUtil().secToTime()一个外部类(时间格式转化)
tv_mian_start.setText(new TimeUtil().secToTime(mediaPlayer.getCurrentPosition()/1000)+"");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//开始
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//结束
//获取拖动结束之后的位置
int progrss=seekBar.getProgress();
mediaPlayer.seekTo(progrss);
}
});
}
public void isPlay(View view){
ImageButton imageButton= (ImageButton) view;
if (mediaPlayer==null){
mediaPlayer = MediaPlayer.create(this, R.raw.seve);
mediaPlayer.start();
//把图标修改为暂停的图标
imageButton.setImageResource(android.R.drawable.ic_media_pause);
//获取音乐的总时长
int muiscsum=mediaPlayer.getDuration();
//设置进度条的最大值为总时长
seekBar.setMax(muiscsum);
//执行一个多线程的耗时操作
new MyThread().start();
tv_mian_stop.setText(new TimeUtil().secToTime(muiscsum/1000)+"");
}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 MyThread extends Thread{
@Override
public void run() {
super.run();
//当进度条的当前值小于最大值时进度条发生改变
while(seekBar.getProgress()<=seekBar.getMax()){
//获取当前音乐播放的位置
musicaction = mediaPlayer.getCurrentPosition();
//让进度条动起来
seekBar.setProgress(musicaction);
}
}
}
}
时间格式转化类:
public class TimeUtil {
public static String secToTime(int time) {
String timeStr = null;
int hour = 0;
int minute = 0;
int second = 0;
if (time <= 0)
return "00:00";
else {
minute = time / 60;
if (minute < 60) {
second = time % 60;
timeStr = unitFormat(minute) + ":" + unitFormat(second);
} else {
hour = minute / 60;
if (hour > 99)
return "99:59:59";
minute = minute % 60;
second = time - hour * 3600 - minute * 60;
timeStr = unitFormat(hour) + ":" + unitFormat(minute) + ":" + unitFormat(second);
}
}
return timeStr;
}
private static String unitFormat(int i) {
String retStr = null;
if (i >= 0 && i < 10)
retStr = "0" + Integer.toString(i);
else
retStr = "" + i;
return retStr;
}
}
真机效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android音乐播放
# Android音乐播放器功能
# Android音乐播放器
# Android音乐播放器制作 点击歌曲实现播放(二)
# Android音乐播放器制作 扫描本地音乐显示在手机(一)
# Android简易音乐播放器实现代码
# 详解Android应用开发--MP3音乐播放器代码实现(一)
# Android MediaPlayer实现音乐播放器实例代码
# Android 开源在线音乐播放器
# Android 音乐播放器的开发实例详解
# Android基于Service的音乐播放器
# Android绘制音乐播放器示波器
# Android音乐播放器制作 加入控制台(三)
# 进度条
# 时长
# 播放器
# 拖动
# 大家分享
# 多线程
# 具体内容
# 源代码
# 大家多多
# 音乐播放
# 结束之后
# 为总
# musicaction
# int
# Override
# protected
# void
# private
# extends
# MainActivity
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在云虚拟主机上快速搭建个人网站?
Android利用动画实现背景逐渐变暗
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速搭建FTP站点实现文件共享?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
利用 Google AI 进行 YouTube 视频 SEO 描述优化
如何在香港免费服务器上快速搭建网站?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
🚀拖拽式CMS建站能否实现高效与个性化并存?
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
如何挑选高效建站主机与优质域名?
如何用搬瓦工VPS快速搭建个人网站?
JavaScript如何实现路由_前端路由原理是什么
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel怎么在Controller之外的地方验证数据
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何基于云服务器快速搭建个人网站?
微信小程序 HTTPS报错整理常见问题及解决方案
Laravel如何实现多对多模型关联?(Eloquent教程)
企业网站制作这些问题要关注
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
Windows Hello人脸识别突然无法使用
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
免费网站制作appp,免费制作app哪个平台好?
如何在阿里云完成域名注册与建站?
如何快速辨别茅台真假?关键步骤解析
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel如何优化应用性能?(缓存和优化命令)
千库网官网入口推荐 千库网设计创意平台入口
Laravel如何处理和验证JSON类型的数据库字段
香港网站服务器数量如何影响SEO优化效果?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
详解Android——蓝牙技术 带你实现终端间数据传输
如何用虚拟主机快速搭建网站?详细步骤解析
如何在景安云服务器上绑定域名并配置虚拟主机?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
*服务器网站为何频现安全漏洞?
制作公司内部网站有哪些,内网如何建网站?
LinuxShell函数封装方法_脚本复用设计思路【教程】
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Java解压缩zip - 解压缩多个文件或文件夹实例

