Android MediaPlayer error (-38, 0) (-19, 0)

1、出现类似error(-38, 0)或(-19, 0)的原因主要包括以下几个方面:

  • 采用new MediaPlayer()方式创建的对象,prepare同步操作没有结束就执行start操作
  • 采用new MediaPlayer()方式创建的对象,prepare同步操作没有结束就执行getDuration操作
  • 采用MediaPlayer.create方式创建的对象,执行了prepare操作
  • setDataSource方法中,uri错误

2、正确的做法如下:

 

官方推荐创建MediaPlayer方式:

Consider using one of the create() methods for synchronously instantiating a MediaPlayer from a Uri or resource.

尽量采用MediaPlayer.create方式创建对象,如果非要用new MediaPlayer方式创建的话,start方法或getDuration要放在prepare结束执行。

 

你可能感兴趣的:(Android,Debug频道)