上代码

public class Player implements OnBufferingUpdateListener, OnCompletionListener,OnPreparedListener {public MediaPlayer mediaPlayer; // 媒体播放器private SeekBar seekBar; // 拖动条private Timer mTimer = new Timer(); // 计时器// 初始化播放器public Player(SeekBar seekBar) {super();this.seekBar = seekBar;try {mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);// 设置媒体流类型mediaPlayer.setOnBufferingUpdateListener(this);mediaPlayer.setOnPreparedListener(this);} catch (Exception e) {e.printStackTrace();}// 每一秒触发一次mTimer.schedule(timerTask, 0, 1000);}// 计时器TimerTask timerTask = new TimerTask() {@Overridepublic void run() {if (mediaPlayer == null)return;if (mediaPlayer.isPlaying() && seekBar.isPressed() == false) {handler.sendEmptyMessage(0); // 发送消息}}};Handler handler = new Handler() {public void handleMessage(android.os.Message msg) {int position = mediaPlayer.getCurrentPosition();int duration = mediaPlayer.getDuration();if (duration > 0) {// 计算进度(获取进度条最大刻度*当前音乐播放位置 / 当前音乐时长)long pos = seekBar.getMax() * position / duration;seekBar.setProgress((int) pos);}};};public void play() {mediaPlayer.start();}/*** * @param url*            url地址*/public void playUrl(String url) {try {mediaPlayer.reset();mediaPlayer.setDataSource(url); // 设置数据源mediaPlayer.prepare(); // prepare自动播放} catch (IllegalArgumentException e) {e.printStackTrace();} catch (SecurityException e) {e.printStackTrace();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}// 暂停public void pause() {mediaPlayer.pause();}// 停止public void stop() {if (mediaPlayer != null) {mediaPlayer.stop();mediaPlayer.release();mediaPlayer = null;}}@Overridepublic void onPrepared(MediaPlayer mp) {mp.start();Log.e("mediaPlayer", "onPrepared");}@Overridepublic void onCompletion(MediaPlayer mp) {Log.e("mediaPlayer", "onCompletion");}/*** 缓冲更新*/@Overridepublic void onBufferingUpdate(MediaPlayer mp, int percent) {seekBar.setSecondaryProgress(percent);int currentProgress = seekBar.getMax()* mediaPlayer.getCurrentPosition() / mediaPlayer.getDuration();Log.e(currentProgress + "% play", percent + " buffer");}}

android 音乐播放工具类MediaPlayer相关推荐

  1. android语音播放工具类,Android开发之MediaPlayer多媒体(音频,视频)播放工具类

    本文实例讲述了Android开发之MediaPlayer多媒体(音频,视频)播放工具类.分享给大家供大家参考,具体如下: package com.android.imooc.chat; import ...

  2. Android------播放音乐的工具类

    一般的Android应用程序的音乐可以分为背景音乐和点击各种控件时的音效,前者一般为比较大的音乐文件,后者一般为比较小的音乐.在Android中一般用MediaPlayer类处理比较大的音频文件,用S ...

  3. android开发监听媒体播放器,Android开发之媒体播放工具类完整示例

    本文实例讲述了Android开发之媒体播放工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.media.Media ...

  4. 音乐播放器类的Android项目源码

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

  5. 收集了很多音乐播放器类的Android项目源码,非常不错的开源项目

    JieCaoVideoPlayer立志成为Android平台使用最广泛的视频播放控件 http://neast.cn/forum.php?mod=viewthread&tid=61610&am ...

  6. 收集了很多音乐播放器类的Android项目源码,非常不错的开源项目【转】

    from:http://blog.csdn.net/java173842219/article/details/54096598 JieCaoVideoPlayer立志成为Android平台使用最广泛 ...

  7. 基于android音乐播放器的设计

    本科毕业论文(设计)诚信声明 本人郑重声明:所呈交的毕业论文(设计),题目<---基于android音乐播放器的设计----------->是本人在指导教师的指导下,进行研究工作所取得的成 ...

  8. Android音乐播放器开发(2)—登录

    1. 说明 本音乐播放器基于Android开发,原为我和另外两个小伙伴在上学期间一起做的一个小项目,近来有时间整理一下.之前我有文章已经介绍了播放界面的功能实现(Android音乐播放器开发),但介绍 ...

  9. Android音乐播放器开发(3)—注册

    1. 说明 本音乐播放器基于Android开发,原为我和另外两个小伙伴在上学期间一起做的一个小项目,近来有时间整理一下.之前我有文章已经介绍了播放界面的功能实现(Android音乐播放器开发),但介绍 ...

最新文章

  1. Huawei交换机配置两台交换机堆叠示例
  2. 突袭HTML5之SVG 2D入门1 - SVG综述
  3. JQUERY —— 元素及表单操作
  4. tomcat报错无法启动组件_微软正在修复Windows Server无法启动的0xc0000001报错故障
  5. weex android 交互,weex项目接入到Android studio中
  6. 如何使用keil 5 编写 51单片机 工程
  7. 电脑只能上微信不能打开网页_怎么回事?我的电脑浏览器打不开网页,但微信、QQ却又能用?...
  8. Linux刻录光盘win10认不到,Win10系统无法读取DVD光驱和刻录光盘的解决方法
  9. 电脑连接热点无internet访问权限_电脑连接手机热点无法上网的三种解决方法
  10. vue 下载Excel 文件
  11. 【LLS-Player】webrtc m94下载
  12. SpringBoot拦截器或过滤器中使用流读取参数后,controller中注解读取不到参数
  13. 在javascript中重新加载/刷新页面的不同方法
  14. 统计字符串中的大小写字母个数
  15. 最详细的Excel模块Openpyxl教程——基础操作
  16. 5,10,15,20-四-(4-二苯胺基-1-苯乙烯基)苯基卟啉(TPP-X4);紫色粉末5,10,15,20-四-(4-澳苯基)卟啉(TPP-Bra)齐岳供应
  17. STM32F407ZG 检测环境温度 CubeIDE
  18. Android 9.0 (Pie)
  19. (35)代码优化以后的运行结果
  20. Go 读者提问:GPM 模型的 M 实际数量受什么影响?

热门文章

  1. 机器学习中的数学——遗传算法(Genetic Algorithm)
  2. Java String类Api文档
  3. python 中 关于reverse() 和 reversed()的用法介绍
  4. 如何才能不崩溃 7: Dealing with Nothing
  5. win10开机黑屏,但是有鼠标。
  6. 自动套料软件Xsuper NEST——辽河重工专访
  7. 7.1.3智慧物流【指标统计,业务数据,快递单主题,运单主题(ETL,sqoop数据导出到MySql)】
  8. RISC-V工具链简介
  9. AutoLink用户指南
  10. [业余难点整理] xxx-timing-function 过渡效果