Android随机警报音

时间:2016-06-30 20:37:09

标签: java c# android mobile alarm

我正在制作一个播放随机闹铃音的闹钟应用。我已经能够从铃声对话框加载铃声,但我正在考虑直接从铃声目录加载随机铃声。我将如何完成这项工作?

1 个答案:

答案 0 :(得分:0)

您可以在设备中查询可用的铃声:

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();

这可以是实现目标的简单方法。希望能帮助到你。感谢。