我需要知道在后面和最近的功能中究竟在哪里实现了声音。当我触摸/单击时,主页和最近图标有声音。我不想在用户应用程序中做。我有 Android 10 的 aosp 源代码。所以我需要知道在哪个文件夹/方法中,这个声音已经为 back 和 recent 实现了?
问问题
113 次
1 回答
0
检查 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.
*/
使用它,您可以决定跳过播放您想要的音效。
如果您想禁用所有声音效果,则有一个设置条目:
见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);
于 2020-11-01T20:39:53.997 回答