Aller au contenu

Lire un son lorsqu'on secoue le terminal


Invité

Recommended Posts

Posté(e)

Bonsoir à tous,

Je développe une petite application "jouet".

Je voudrais jouer un son (un bruitage) lorsque l'androphone est secoué.

Pour le moment je récupère les composantes sur X, Y et Z de l'accélération (de l'accéléromètre) et je calcul la norme du vecteur accélération :

-> racine carré de ( x2 + y2 + z2 )

et quand cette norme s'éloigne de l'accélération "normale" (environ 10m/s2 en pratique) je veux jouer le son.

Pour le moment j'utilise un SoundPool avec un seul flux.

Le problème est le suivant :

- lorsqu'on secoue le téléphone, le son est joué plusieurs fois très rapidement

Donc je voudrais empêcher le déclenchement du son si il est déjà en cours de lecture.

Je n'ai pas trouvé de solution par moi même ...

Merci beaucoup :)

Goten

Posté(e)

Merci beaucoup !

Bravo pour cette petite classe, simple et pratique visiblement ;)

je ne connaissait pas les possibilités de AudioManager, et il me semble que c'est ce qu'il me manquait ...

mAudioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);
mAudioManager.isMusicActive(); // boolean

J'implemente, je teste dès que j'ai le temps, et je revient poster ensuite :D

EDIT : ca fonctionne impeccable ! Merci beaucoup ! (je vais me pencher sur la Doc de SoundManager aussi :P)

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...