0

我的应用程序目前对某些事件使用默认的闹钟铃声,这是使用以下两行代码实现的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()

4

0 回答 0