我的应用程序目前对某些事件使用默认的闹钟铃声,这是使用以下两行代码实现的onCreate()
:
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
ringtone = RingtoneManager.getRingtone(getApplicationContext(), notification);
在活动课程开始时,我定义了ringtone
:
Ringtone ringtone;
在代码中实际应该响起警报的地方,我使用ringtone.play()
and ringtone.stop()
。工作正常。
现在,我现在想用自定义铃声( alarmsound.mp3
) 替换默认警报铃声。为此,我已将该自定义音调放置在应用程序的资源中 ( res/raw/alarmsound.mp3
)。
如何更改我的代码以播放自定义音调?我已经检查了这个问题是否有重复,但答案(甚至问题)似乎非常复杂和冗长(想象一下访问定制drawables
需要这么多代码)。有没有一种简单的方法可以做到这一点,比如修改或添加到上面的代码(并且不必询问用户任何额外的权限)?
我已经试过了
Uri notification = RingtoneManager.getActualDefaultRingtoneUri(MainActivity.this, R.raw.alarmsound);
ringtone = RingtoneManager.getRingtone(getApplicationContext(), notification);
但这给出了NullPointerException
一个ringtone.play()