2010-02-15 5 views
0

Je tripote avec une boîte de dialogue qui apparaît et affiche une information d'alarme. (Je sais, il a été documenté que dans Android, il est préférable d'utiliser des notifications à la place, mais tout comme le réveil, je veux qu'il affiche un dialogue sur ce que vous faites pour attirer l'attention des utilisateurs - comme l'utilisateur s'attend à ce comportement je ne pense pas que c'est mauvais style!)Android: Vous cherchez un moyen facile de jouer des sons de notification dans une boucle manuellement

Maintenant - le seul moyen facile que j'ai trouvé est d'utiliser la fonction RingtoneManager.getRingtone() pour obtenir un objet Ringtone pour le type "alarme". Eh bien, je peux jouer ce son maintenant en utilisant Ringtone.play() - mais il ne joue le son qu'une seule fois et je n'arrive pas à comprendre comment le laisser jouer indéfiniment jusqu'à ce que l'utilisateur réagisse, par ex. en touchant la boîte de dialogue n'importe où ou en la rejetant à l'aide du bouton Annuler fourni.

Est-ce que quelqu'un sait comment cela peut être accompli facilement? Merci!

Répondre

2

Jetez un oeil à AlarmClock depuis le dépôt git d'Android. Il pourrait être utile de vérifier le code source sur la façon de jouer des sons pendant une durée prévue.

+0

Merci - c'est un bon point de départ. Mais maintenant je suis coincé avec cette source, j'ai essayé de le faire fonctionner ici en téléchargeant l'instantané de cupcake. Mais j'ai eu tellement d'erreurs de compilation! Certains éléments ne sont pas trouvés ou par ex. 'new Virbrator()' indique que le constructeur n'est pas public, etc. Comment diable puis-je simplement obtenir ce git-checkout pour compiler correctement ici sur mon système? Savez-vous comment? Merci! – Zordid

+0

L'instantané ne contient que les fichiers .java référencés à 'com.google.alarmclock', l'en-tête du paquet pouvant provoquer des erreurs de compilation. –

+0

Hmm, alors qu'est-ce que je dois faire? Toutes les erreurs me semblent extrêmement étranges. Par exemple, il manque un champ 'mContext' dans la classe' DigitalClock' - certainement un bug! Mais cette source est vue par tant de gens: comment cela peut-il finir comme ça? D'autres erreurs sont vraiment que les finales statiques n'existent pas comme 'Intent.ACTION_ALARM_CHANGED' - Je ne peux pas trouver cela n'importe où dans les docs Android. Mais d'accord. Je vais chercher l'extrait sonore maintenant ... aurait été plus facile sans toutes ces erreurs de compilation .... – Zordid