VoiceHelper.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.xzjmyk.pm.activity.audio;
  2. import android.media.MediaPlayer;
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.util.Formatter;
  6. import java.util.Locale;
  7. /**
  8. *
  9. * @项目名称: SkWeiChat-Baidu
  10. * @包名: com.xzjmyk.pm.activity.audio
  11. * @作者:王阳
  12. * @创建时间: 2015年10月15日 下午5:00:14
  13. * @描述: voice简单处理类
  14. * @SVN版本号: $Rev$
  15. * @修改人: $Author$
  16. * @修改时间: $Date$
  17. * @修改的内容: TODO
  18. */
  19. public class VoiceHelper {
  20. private static StringBuilder mFormatBuilder=new StringBuilder();
  21. private static Formatter mFormatter=new Formatter(mFormatBuilder, Locale.getDefault());
  22. /**
  23. * 时间显示的工具方法
  24. */
  25. public static String stringForTime(int timeMs) {
  26. // timeMs=timeMs/1000; 百度播放器的时间单位就是秒,系统的VideoView是毫秒
  27. int seconds = timeMs % 60;
  28. int minutes = (timeMs / 60) % 60;
  29. int hours = timeMs / 3600;
  30. mFormatBuilder.setLength(0);
  31. if (hours > 0) {
  32. return mFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString();
  33. } else {
  34. return mFormatter.format("%02d:%02d", minutes, seconds).toString();
  35. }
  36. }
  37. public static int getVoiceSeconds(String path) {
  38. int len = 0;
  39. if (!new File(path).exists()) {
  40. return len;
  41. }
  42. MediaPlayer m = new MediaPlayer();
  43. try {
  44. m.setDataSource(path);
  45. m.prepare();
  46. len = m.getDuration();
  47. m.release();
  48. } catch (IllegalArgumentException e) {
  49. e.printStackTrace();
  50. } catch (IllegalStateException e) {
  51. e.printStackTrace();
  52. } catch (IOException e) {
  53. e.printStackTrace();
  54. }
  55. return len;
  56. }
  57. }