android设计多媒体程序时,出现mediaplayer的(-38, 0)报错, 一般是由于在MediaPlayer还没有同步(Prepared)的状态下调用了 mediaplayer对象.start()方法,或者调用了 getDuration的方法。

比较好的解决办法就是设置OnPreparedLisnter监听:

MediaPlayer.OnPreparedListener preparedListener = new MediaPlayer.OnPreparedListener() {    @Override    public void onPrepared(MediaPlayer mp) {        mp.start();        total = mp.getDuration();// 总时长    }};mp.setOnPreparedListener(preparedListener);mp.prepare();
这样可以确保prepare完成后再调用start和getDuration方法。

更多相关文章

  1. android中fragment与activity之间通信原理以及例子
  2. Android(安卓)SeLinux权限问题和解决方法
  3. Android(安卓)SharedPreference源码浅析
  4. 查看Android(安卓)ADT Plugin版本的方法
  5. MediaPlayer介绍
  6. Android(安卓)Activity生命周期浅谈
  7. 【Android】OkHttp系列(一):发送请求与获取响应流程概述
  8. Android(安卓)- 电话拦截
  9. MTK(Android(安卓)N)设置SDCard为默认存储

随机推荐

  1. 百度地图Api进阶教程-实例高级操作8.html
  2. HTML5新增标签与属性
  3. 如何确定在web页面上呈现的字符串的长度(
  4. telnet建立http连接获取网页HTML内容
  5. jQuery:流体同位素仅在调整大小后才工作
  6. html中显示div的时候,超出浏览器的宽,怎么
  7. 用Jsoup实现html中标签替换
  8. 一步一步学Silverlight 2系列(3):界面布局
  9. vim / vi / linux:正确缩进html文件
  10. Javascript将ID添加到HTML href