由ToneGenerator生成的哔哔声的Android音量

时间:2012-11-05 20:16:55

标签: android volume tone-generator

我正在使用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);
}

2 个答案:

答案 0 :(得分:1)

我发现了问题所在:

ToneGenerator的音量介于0和100之间,而流音量介于0和15之间。 因此,audio.getStreamMaxVolume(STREAM)给出了100分中的15分,它很低......

答案 1 :(得分:0)

使用此,用于使用当前系统卷。

ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_SYSTEM, 100);