36 votes

Comment désactiver les effets sonores par défaut pour toutes mes applications ou activités

Dans mon application que je suis en utilisant le son de la piscine pour le bouton cliquez sur effets audio. Le problème est que si dans les paramètres de dispositif de "sélections Audibles" est cochée, puis mes boutons vont produire deux sons: le système de l'une et de mon un en même temps.

Il semble que si, dans chaque bouton propriétés j'ai mis "Effets Sonores Activé" pour de faux, le système de son n'est pas entendu plus. Mais j'ai beaucoup de boutons à travers une douzaine d'activités, en plus je suis l'ajout d'une matrice de boutons dans le code, c'est plutôt gênant pour définir les "Effets Sonores Activé" pour de faux manuellement pour chacun d'eux. Pas sûr de savoir comment je le faire dans le code..

Est-il un moyen de les arrêter "Audible sélection" dans mon application ou au moins pour la seule activité?

54voto

David Douglas Points 1410

Créez un fichier de thème "res / values / styles.xml"

 <?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="AppBaseTheme" parent="android:Theme.Black.NoTitleBar">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    <item name="android:soundEffectsEnabled">false</item>
</style>

</resources>
 

Et puis référencez-le dans votre "AndroidManifest.xml"

 <application
    ...
    android:theme="@style/AppTheme" >
 

29voto

JessicaM Points 286

Je viens d'avoir le même problème pour ma candidature. J'ai pu désactiver la rétroaction sonore à l'échelle mondiale en mettant android:soundEffectsEnabled=false dans un thème.

10voto

Squonk Points 28943

Vous pouvez créer votre propre classe Button et l'utiliser dans les fichiers de disposition XML ...

 package com.mycompany.myApp

public class MyButton extends Button {

    public MyButton (Context context, AttributeSet attrs) {
        this.setSoundEffectsEnabled(false);
    }
}
 

Ensuite, dans les fichiers de disposition XML, utilisez ...

 <com.mycompany.myApp.MyButton
    ...
</com.mycompany.myApp.MyButton>
 

... pour vos boutons.

1voto

ddcruver Points 765

Vous pouvez créer une vue personnalisée qui s'étend de Button. Réglez ensuite l'effet sonore activé sur false lors de sa création.

http://developer.android.com/guide/topics/ui/custom-components.html

Vous pouvez également aller plus loin et indiquer à la vue quel nouveau son personnalisé doit être lu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X