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

本文探讨了在Android开发中遇到MediaPlayer错误(-38, 0)和(-19, 0)的原因,包括不当的同步操作、非法的uri设置等,并提供了正确的使用建议,如使用MediaPlayer.create方法创建对象并确保prepare操作完成后再执行其他操作。" 136026592,15126619,华为机试实战:按排序标识排列整型数组(Java/C++/Python),"['算法', '数据结构', 'Java编程', 'C++编程', 'Python编程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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结束执行。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值