【问题标题】:How to disable sound in back and recent touch android?如何禁用背部和最近触摸android中的声音?
【发布时间】:2021-02-11 15:25:39
【问题描述】:

我需要知道在 back 和最近的函数中究竟在哪里实现了声音。当我触摸/单击时,主页和最近图标有声音。我不想在用户应用程序中做。我有Android 10的aosp源代码。所以我需要知道在哪个文件夹/方法中,这个声音已经实现了back和recent?

【问题讨论】:

    标签: android android-layout android-source android-homebutton android-sound


    【解决方案1】:

    检查 AudioManager.playSoundEffect() 方法:https://cs.android.com/android/platform/superproject/+/master:frameworks/base/media/java/android/media/AudioManager.java;l=2596;drc=master;bpv=1;bpt=1

    该方法的 Javadoc 说:

      /**
         * Plays a sound effect (Key clicks, lid open/close...)
         * @param effectType The type of sound effect. One of
         *            {@link #FX_KEY_CLICK},
         *            {@link #FX_FOCUS_NAVIGATION_UP},
         *            {@link #FX_FOCUS_NAVIGATION_DOWN},
         *            {@link #FX_FOCUS_NAVIGATION_LEFT},
         *            {@link #FX_FOCUS_NAVIGATION_RIGHT},
         *            {@link #FX_KEYPRESS_STANDARD},
         *            {@link #FX_KEYPRESS_SPACEBAR},
         *            {@link #FX_KEYPRESS_DELETE},
         *            {@link #FX_KEYPRESS_RETURN},
         *            {@link #FX_KEYPRESS_INVALID},
         * NOTE: This version uses the UI settings to determine
         * whether sounds are heard or not.
         */
    

    使用它,您可以决定跳过播放以获得所需的音效。

    如果您想禁用所有音效,可以使用 Settings 条目:

    frameworks/base/core/java/android/provider/Settings.java:

    /**
    * Whether the sounds effects (key clicks, lid open ...) are enabled. The value is
    * boolean (1 or 0).
    */
    public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
    

    您可以通过以下方式修改:

    Settings.System.putInt(mContext.getContentResolver(), SOUND_EFFECTS_ENABLED, 0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多