Guest Posted December 17, 2010 Share Posted December 17, 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 Link to comment Share on other sites More sharing options...
octera Posted December 18, 2010 Share Posted December 18, 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. Link to comment Share on other sites More sharing options...
Guest Posted December 18, 2010 Share Posted December 18, 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) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.