音乐播放,快进,自动播放下一曲
来源:互联网 发布:什么叫网络销售 编辑:程序博客网 时间:2024/05/16 05:58
拖动进度条快进
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser) { int duration = media.getDuration(); int jindu = duration * progress / 100; media.seekTo(jindu); } } });
播放音乐private void Play(int position) { // 重置 media.reset(); try { // 防止音乐点击下一曲的时候还是播放当前音乐, AssetFileDescriptor open = getAssets().openFd(list.get(position)); FileDescriptor file = open.getFileDescriptor(); media.setDataSource(file, open.getStartOffset(), open.getLength());//或者按照这个路径播放,上面三行就可以不用写
media.setDataSource(list.get(index).getPath());// 准备 media.prepare(); } catch (Exception e) { e.printStackTrace(); } // 开始播放 media.start();}设置进度条随着音乐播放改变
// 主线程控制进度条Handler handler = new Handler() { public void handleMessage(Message msg) { if (msg.what == 100) { // 得到当前进度 int m = (Integer) msg.obj; // 设置进度 seekbar.setProgress(m); // 总进度到了99的时候让他停止播放,因为进度是从0开始,所以到99停止 if (m == 99) { if (media != null && media.isPlaying()) { media.stop(); } // 播放完成让进度条归0 seekbar.setProgress(0); Toast.makeText(MusicActivity.this, "音乐播放完成", Toast.LENGTH_SHORT).show(); } } };};子线程发送进度,让handler控制,子线程不能更新ui
private void SeekBarChange() { // 得到音乐的总进度 count = media.getDuration(); new Timer().schedule(new TimerTask() { @Override public void run() { // 得到当前音乐总进度 int now = media.getCurrentPosition(); // 得到过当前进度 int jindu = now * 100 / count; // 发送 Message msg = Message.obtain(); msg.what = 100; msg.obj = jindu; handler.sendMessage(msg); } }, 0, 100);}
阅读全文
0 0
- 音乐播放,快进,自动播放下一曲
- 详解51单片机播放音乐、电子琴、快进
- 自动开关机播放音乐
- 怎样自动播放下一首音乐
- Service后台服务控制音乐的播放暂停和停止,播放完自动播放下一曲
- Android开发笔记之广播,service实现音乐的播放暂停停止快进等功能
- 通过MediaPlayer实现简单的音乐播放(进度条实现快进的功能)
- 播放音乐
- 播放音乐
- 音乐播放
- 播放音乐
- 音乐播放
- 播放音乐
- 播放音乐
- 音乐播放
- 播放音乐
- 播放音乐
- 音乐播放
- 红黑树相关定理及其证明
- 视音频数据的数据源分析
- cn.itcast.domain.Customer_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy
- java多线程实例解析
- 第一篇:刚接触scrapy的阶段以及之前出现的问题
- 音乐播放,快进,自动播放下一曲
- 变量和作用域1
- Zephyr程序初探(4):中断程序
- 10个JavaScript难点!
- Go1.9获取Windows进程专用内存工作集
- Linux 系统中的用户
- 数据结构面试题/求二叉树的高度/销毁一棵二叉树-->
- Php利用simpleXML对xml操作
- Quartz定时调度(Spring整合)