我有几个铃声,与APK文件一起分发,并通过以下方式访问它们
Ringtone r = RingtoneManager.getRingtone(mContext, uri);
if (r != null) {
r.setStreamType(AudioManager.STREAM_NOTIFICATION);
r.play();
}在大多数情况下,这是预期的工作,但在某些设备上,系统播放不正确的铃声,这是永远不应该播放。经过短暂的调查后,我发现RingtoneManager.getRingtone方法的文档说明
If the given URI cannot be opened for any reason, this method will attempt to fallback on another sound. If it cannot find any, it will return null.这意味着我永远不能确定返回的铃声是我要求的那个。所以我的问题是,我如何至少验证getRingtone方法返回了另一个(默认)铃声,以便我至少不能播放它?
提前谢谢。
发布于 2015-06-29 21:19:17
看起来RingtoneManager的全部工作就是做上述的回退,所以如果这不是你想要的,考虑用android.media.MediaPlayer播放你的音频。
https://stackoverflow.com/questions/31116246
复制相似问题