Ringtone 踩坑

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(context, notification);
r.play();

上面的代码存在mediaPlayer未释放资源的问题,会导致其它模块播放media时出现(1,-19)

Ringtone 持有一个对应的mediaplayer,虽然Ringtone 每次播放前都释放资源,但是因为RingtoneManager每次返回的是一个新的Ringtone 对象,所以上面代码中,会不断的创建新的nediaplayer,导致出现无法播放问题。

你可能感兴趣的:(Ringtone 踩坑)