编程语言
首页 > 编程语言> > java-如何在我的自定义键盘上按android播放用户拨号盘提示音?

java-如何在我的自定义键盘上按android播放用户拨号盘提示音?

作者:互联网

在我的应用中,我有一个自定义键盘,想在按键时播放滴答声.下面的代码给了我声音.

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
float vol = 1f; 
am.playSoundEffect(AudioManager.FX_KEY_CLICK, vol);

但我希望播放与用户触摸拨号盘时相同的音调.我该如何实现?

解决方法:

我在迈克尔评论的帮助下找到了解决方案.在这里发布,因为它可能会帮助其他人:)

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int volume_level= am.getStreamVolume(AudioManager.STREAM_RING); // Highest Ring volume level is 7, lowest is 0
final ToneGenerator mToneGenerator = new ToneGenerator(AudioManager.STREAM_MUSIC, volume_level * 14); // Raising volume to 100% (For eg. 7 * 14 ~ 100)
mToneGenerator.stopTone();
mToneGenerator.startTone(ToneGenerator.TONE_DTMF_1, 100); // play sound for 100ms

同样,对于其他键,从ToneGenerator.TONE_DTMF_0到ToneGenerator.TONE_DTMF_9选择音调

标签:android-keypad,android-audiomanager,java,android
来源: https://codeday.me/bug/20191027/1942877.html