ボタンが押されたことを示すビープ音を鳴らしたいと思います。自分のmp3音楽ファイルをインポートしたり、ToneGeneratorを使用したりする代わりに、デフォルトのAndroidビープ音(着信音量を調整するときなど)を使用する方法を知りたいですか?
public void playSound(Context context) throws IllegalArgumentException,
SecurityException,
IllegalStateException,
IOException {
Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(context, soundUri);
final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
// Uncomment the following line if you aim to play it repeatedly
// mMediaPlayer.setLooping(true);
mMediaPlayer.prepare();
mMediaPlayer.start();
}
}
私は別の答えを見つけました:
try {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
クレジットは https://stackoverflow.com/a/9622040/737925 に行きます
...デフォルトのAndroidビープ音を使用します(着信音量を調整するときなど)...
私のCyanogen 7 Nexus Oneと私の古いT-Mobile Pulse Mini(メモリからの後者)では、聞こえる限り、これはボリューム変更時のデフォルトのビープ音です。
final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);
tg.startTone(ToneGenerator.TONE_PROP_BEEP);
あなたはToneGenerator
の代替を求めているように見えますが、私はそれがあなたが望むものを2行で正確に与えると思います。
以下に、私が試したToneGenerator
のサウンドのうち、一致しなかったものをいくつか示します(最初の2つは、音量のビープ音の代替として役立つかもしれません)。
// Double beeps: tg.startTone(ToneGenerator.TONE_PROP_ACK);
// Double beeps: tg.startTone(ToneGenerator.TONE_PROP_BEEP2);
// Sounds all wrong: tg.startTone(ToneGenerator.TONE_CDMA_KEYPAD_VOLUME_KEY_LITE);
簡単な方法は、ToneGeneratorクラスのインスタンスを使用することです。
//declaration
ToneGenerator toneG;
//using any where`
if(val>=taux_max)
{
taux_text.setTextColor(warnning_col);
toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200); //200 is duration in ms
}