Android 随机报警音
Android Random Alarm Tone
我目前正在开发一款可以播放随机闹钟铃声的闹钟应用。我已经能够从铃声对话框加载铃声,但我正在考虑直接从铃声目录加载随机铃声。我将如何着手完成这个?
您可以查询设备中可用的铃声:
RingtoneManager ringtoneMgr = new RingtoneManager(this);
ringtoneMgr.setType(RingtoneManager.TYPE_ALARM);
Cursor alCursor = ringtoneMgr.getCursor();
此 alCursor 将包含可用的铃声 URI。现在遍历它们并构建一个 URI 数组:
Uri[] alarms = new Uri[alCursor.getCount()];
while(alCursor.moveToNext()) {
int pos = alCursor.getPosition();
alarms[pos] = ringtoneMgr.getRingtoneUri(pos);
}
alCursor.close();
现在,只需在 0-alCursor.getCount() 范围内生成一个随机数,从闹钟数组中取出该铃声并播放。
Random r = new Random();
int randNum = r.nextInt(alCursor.getCount());
Ringtone ringtone = RingtoneManager.getRingtone(this, alarms[randNum]);
ringtone.play();
这可能是实现您目标的简单方法。希望能帮助到你。谢谢
我目前正在开发一款可以播放随机闹钟铃声的闹钟应用。我已经能够从铃声对话框加载铃声,但我正在考虑直接从铃声目录加载随机铃声。我将如何着手完成这个?
您可以查询设备中可用的铃声:
RingtoneManager ringtoneMgr = new RingtoneManager(this);
ringtoneMgr.setType(RingtoneManager.TYPE_ALARM);
Cursor alCursor = ringtoneMgr.getCursor();
此 alCursor 将包含可用的铃声 URI。现在遍历它们并构建一个 URI 数组:
Uri[] alarms = new Uri[alCursor.getCount()];
while(alCursor.moveToNext()) {
int pos = alCursor.getPosition();
alarms[pos] = ringtoneMgr.getRingtoneUri(pos);
}
alCursor.close();
现在,只需在 0-alCursor.getCount() 范围内生成一个随机数,从闹钟数组中取出该铃声并播放。
Random r = new Random();
int randNum = r.nextInt(alCursor.getCount());
Ringtone ringtone = RingtoneManager.getRingtone(this, alarms[randNum]);
ringtone.play();
这可能是实现您目标的简单方法。希望能帮助到你。谢谢