Ich arbeite gerade an einer Alarm-App, die einen zufälligen Alarmton spielt. Ich konnte einen Klingelton aus dem Klingelton-Dialog laden, aber ich denke daran, einen zufälligen Klingelton direkt aus dem Klingelton-Verzeichnis zu laden. Wie würde ich das erreichen?Android zufälliger Alarmton
0
A
Antwort
0
Sie können nach verfügbaren Klingeltöne im Gerät abfragen:
RingtoneManager ringtoneMgr = new RingtoneManager(this);
ringtoneMgr.setType(RingtoneManager.TYPE_ALARM);
Cursor alCursor = ringtoneMgr.getCursor();
Dieses alCursor die verfügbaren Klingelton URIs enthalten. Nun durchlaufen sie & einen URI-Array bauen:
Uri[] alarms = new Uri[alCursor.getCount()];
while(alCursor.moveToNext()) {
int pos = alCursor.getPosition();
alarms[pos] = ringtoneMgr.getRingtoneUri(pos);
}
alCursor.close();
Nun erzeugt nur eine Zufallszahl im Bereich von 0-alCursor.getCount(), nehmen Sie diese Klingelton aus Alarmen Array & es spielen.
Random r = new Random();
int randNum = r.nextInt(alCursor.getCount());
Ringtone ringtone = RingtoneManager.getRingtone(this, alarms[randNum]);
ringtone.play();
Dies kann ein einfacher Ansatz sein, um Ihr Ziel zu erreichen. Ich hoffe es hilft. Vielen Dank.
Funktioniert wie ein Charme! Danke viel =) –
Dann akzeptiere es bitte als Antwort. Vielen Dank :-) –