Invité Posté(e) 17 décembre 2010 Share Posté(e) 17 décembre 2010 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
octera Posté(e) 18 décembre 2010 Share Posté(e) 18 décembre 2010 Salut, J'ai une classe qui joue des sons, avec un méthode qui permet de savoir si un son sort actuellement de l'enceinte Voici le liens de la classe -> http://projects.octera.info/svn/mobile/src/com/m2pgi/Pyramide/ui/SoundManager.java Tu peut la récupérer, il faut juste que tu rajoute if (isPlaying()) return au début de la fonction playsound. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Posté(e) 18 décembre 2010 Share Posté(e) 18 décembre 2010 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) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.