我正在使用ToneGenarator来连续发出哔哔声。问题是音量太低了!
当音量低于8时我们听不到任何声音。并且在最大音量时,它根本不响亮......
它是DTMF sound的限制还是我做错了什么?
这是代码:
private final int TONE_TYPE = ToneGenerator.TONE_DTMF_5;
private final int STREAM = AudioManager.STREAM_MUSIC;
private final int DOT_TIME = 3;
public SoundManager(Activity anActivity) {
audio = (AudioManager) anActivity
.getSystemService(Context.AUDIO_SERVICE);
generator = new ToneGenerator(STREAM,
audio.getStreamMaxVolume(STREAM));
}
private void playBeep() {
generator.startTone(TONE_TYPE, DOT_TIME);
}
我发现问题出在哪里:
ToneGenerator
的体积在0到100之间,而流体积在0到15之间。因此,audio.getStreamMaxVolume(STREAM)
给出了100分中的15分,它很低......
使用此选项,使用当前系统卷。
ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_SYSTEM, 100);