簡體   English   中英

如何在我的自定義鍵盤上播放用戶撥號盤音調?

[英]How to play user dial pad tone on my custom keypad press in android?

在我的應用程序中,我有一個自定義鍵盤,並希望在按鍵時播放刻度音。 下面的代碼給了我聲音。

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

但我希望播放用戶觸摸撥號盤時出現的相同音調。 我該如何實現?

我在Michael評論的幫助下找到了解決方案。 在這里發布,因為它可以幫助其他人:)

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_0ToneGenerator.TONE_DTMF_9選擇音調

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM