昨天Android MediaPlayer 一个简单的音乐播放器实例,我们学习了MediaPlayer的初级用法,今天,我们在昨天的基础上,给播放器加个SeekBar,实现显示播放进度,以及快进快退。
先在main.xml里加上个SeekBar,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button android:id="@+id/play"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="播放"
/>
<Button android:id="@+id/pause"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="暂停"
/>
<SeekBar android:id="@+id/sb"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:max="100"
/>
</LinearLayout>

程序代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package com.pocketdigi;
import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
public class main extends Activity {/** Called when the activity is first created. */
Button play,pause;
MediaPlayer mp;
SeekBar sb;
Handler handler=new Handler();
int Duration;
@Override
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.main);
play=(Button)findViewById(R.id.play);
pause=(Button)findViewById(R.id.pause);
sb=(SeekBar)findViewById(R.id.sb);
//找到相应View
mp =MediaPlayer.create(this,Uri.parse("/sdcard/徐若瑄-爱笑的眼睛.mp3"));
//后面的参数必须是URI形式的,所以要把相应路径转换成URI
play.setOnClickListener(playlis);
pause.setOnClickListener(pauselis);
sb.setOnSeekBarChangeListener(sbLis);
//监听器
Duration=mp.getDuration();
//音乐文件持续时间
sb.setMax(Duration);
//设置SeekBar最大值为音乐文件持续时间
}
private OnClickListener playlis=new OnClickListener(){@Override
public void onClick(View v) {// TODO Auto-generated method stub
handler.post(start);
//调用handler播放
}
};
Runnable start=new Runnable(){@Override
public void run() {// TODO Auto-generated method stub
mp.start();
handler.post(updatesb);
//用一个handler更新SeekBar
}
};
Runnable updatesb =new Runnable(){@Override
public void run() {// TODO Auto-generated method stub
sb.setProgress(mp.getCurrentPosition());
handler.postDelayed(updatesb, 1000);
//每秒钟更新一次
}
};
private OnClickListener pauselis=new OnClickListener(){@Override
public void onClick(View v) {// TODO Auto-generated method stub
mp.pause();
//暂停
}
};
private OnSeekBarChangeListener sbLis=new OnSeekBarChangeListener(){@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {// TODO Auto-generated method stub
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub
mp.seekTo(sb.getProgress());
//SeekBar确定位置后,跳到指定位置
}
};
}

android 实现音乐播放器 带 seekbar相关推荐

  1. android 暂停音乐播放器,Android仿音乐播放器带进度的播放暂停按钮

    因为项目需要,要做一个下载暂停开始的按钮,要求按钮上显示进度.网上找了找没有合适的,不太满意,于是自己动手写了一个. 效果如下: 主要步骤: 1.最外侧的圆环. 2.圆环内侧代表进度的圆弧. 3.暂停 ...

  2. android仿音乐播放器,Android仿音乐播放器功能

    本文实例为大家分享了Android仿音乐播放器功能的具体代码,供大家参考,具体内容如下 读取本地音乐文件 源代码: import android.media.MediaPlayer; import a ...

  3. android 小型音乐播放器(实现播放、下一首、上一首、自动播放、随机播放按钮、当前播放歌曲界面)

    该文章主要针对 android 的音乐播放器软件进行简单的功能添加:播放.断点播放.停止.上一曲.下一曲.随机播放.显示当前播放歌曲(后续会为当前显示的播放添加动画): 软件开发流程: 1.先向内存卡 ...

  4. 最全的Android开源音乐播放器源码汇总

    收集了很多音乐播放器类的Android项目源码,非常不错的开源项目,会让你事半功倍,希望大家补充...谢谢! Android基于经纬度切歌的冲绳音乐播放器源码 http://neast.cn/foru ...

  5. android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...

    我很抱歉,如果这原来是一个愚蠢的问题,它可能会成为一个快速修复,但我只是无法弄清楚.我在android studio中创建了音乐播放器,并且没有任何sdcard上的歌曲不会显示在列表视图中,只有内部内 ...

  6. 【Android】音乐播放器APP的设计与实现

    [Android]音乐播放器APP的设计与实现 一.界面设计 二.核心代码 一.界面设计 (1)注册登录 (2)主界面 (3)音乐播放器 可以实现开始,暂停,下一首,上一首功能:滑动进度条可以改变音乐 ...

  7. 三款Android平台音乐播放器多方位对比

    音乐播放器作为重要的娱乐工具,在PC端异常重要,在移动端同样如此.移动端的音乐播放器很多,巨头们纷纷在这个领域布局,腾讯百度等均拥有各自的移动端音乐播放器.爱好音乐的机友们也面临较多的选择. 小编在这 ...

  8. Android 自定义音乐播放器实现

    Android自定义音乐播放器 一:首先介绍用了哪些Android的知识点: 1 MediaPlayer工具来播放音乐 2 Handle.因为存在定时任务(歌词切换,动画,歌词进度条变换等)需要由Ha ...

  9. Android在线音乐播放器

    波尼音乐 系列文章 Android开源在线音乐播放器--波尼音乐 Android开源音乐播放器之播放器基本功能 Android开源音乐播放器之高仿云音乐黑胶唱片 Android开源音乐播放器之自动滚动 ...

最新文章

  1. Service Request Account field in CRM and C4C
  2. 排序代码(python,c++) 及 基本算法复杂度
  3. 武汉市2022年企业上市扶持政策申报条件以及奖励补贴标准汇总!
  4. 有故事,带项目的flask教程(2)---flask的路由管理
  5. 前端自学日记-day5
  6. VSCODE + 搜狗输入法,两次文字突然变成繁体?
  7. Python机器学习实战:掌握这四个特征选择方法,提升模型预测性能
  8. 老公月入五万的程序员夫人,都过上贵妇的生活了么?
  9. 陪儿子玩游戏之皇家守卫军
  10. android 相机工程模式,松下数码相机工程模式
  11. Eureka的初理解【服务注册与发现、高可用集群、自我保护机制、与Zookeeper的比较】
  12. 计算机专业问未来有什么理想,我和计算机
  13. lol2月20服务器维护,英雄联盟2月20日维护到几点 今天LOL几点可以进游戏
  14. java中预编译是啥意思_JAVA学习笔记预编译
  15. MySQL的跨年周统计问题(%X-%V)
  16. ireport1.3.2 pdf字体加粗失效的问题
  17. word转换pdf方法分享!word转换pdf软件合集。​
  18. Win10:无法生成“D:\System Volume Information“ 下常规子目录的列表。拒绝访问。
  19. 中国UTM市场运营模式分析及十四五发展新挑战研究报告2022-2027年版
  20. 【深度学习基础知识 - 46】贝叶斯定理与条件概率公式

热门文章

  1. 云计算面临的挑战和难点
  2. Javac编译器详解
  3. 【知识点】了解之 纵深防御
  4. WIN10 各种技巧——长期不定期更新
  5. 【leetcode】412.Fizz Buzz (三种方法开阔思路,java实现)
  6. uniapp radio如何实现取消选中
  7. 苹果:无须用户同意,App 涨价时自动续订,网友吐槽“App Store 毒性越来越大”...
  8. LibQQt系列之五《QQtObjectFactory》
  9. 提问:如何评估产品内容的价值?
  10. 文件右键菜单没有“授予访问权限”选项