2016-03-15 51 views
2

在我的應用程序中,我有一個自定義鍵盤,並希望在按鍵時播放滴答聲。下面的代碼給我的聲音。如何在我的自定義鍵盤上按下android用戶撥號盤音按?

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

但我期待播放用戶觸摸撥號盤時發出的相同音調。我如何實現它?

+1

['ToneGenerator'](http://developer.android.com/reference/android/ media/ToneGenerator.html)通過'TONE_DTMF_9'預設了'TONE_DTMF_0'。 – Michael

+0

@Michael這是我正在尋找。謝謝。 –

回答

3

我在邁克爾評論的幫助下找到了解決方案。張貼在這裏,因爲它可以幫助別人:)

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

+0

謝謝你的幫助 –

相關問題