我开发了一个使用我自己的custom keyboard
的应用程序(好吧,一个看起来像键盘的视图,无论如何都像键盘一样)。我还没弄明白的一件事是如何在按下按钮时播放default soft keyboard 'click'
声音。
有没有简单的方法呢?
我想使用手机附带的keyboard click
声音,而不是提供我自己的声音。由于不同的手机可能有不同的键盘咔嗒声,我想保持我的应用程序一致。最后,我想反映用户在全局键盘设置中选择的相同设置(播放/不播放声音,振动/不振动等)。
答案 0 :(得分:27)
我找到了解决方法。我需要做的只是在按钮上实现OnTouchListener
并使用AudioManager.playSoundEffect()
公共方法。代码如下所示:
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
float vol = 0.5; //This will be half of the default system sound
am.playSoundEffect(AudioManager.FX_KEY_CLICK, vol);
答案 1 :(得分:1)
if (isSetVibration) {
if (Build.VERSION.SDK_INT >= 26) {
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(VibrationEffect.createOneShot(50, VibrationEffect.DEFAULT_AMPLITUDE));
} else {
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(50);
}
} else {
if (Build.VERSION.SDK_INT >= 26) {
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(VibrationEffect.createOneShot(0, VibrationEffect.DEFAULT_AMPLITUDE));
} else {
((Vibrator) getSystemService(VIBRATOR_SERVICE)).vibrate(0);
}
}