1

我正在使用 ToneGenerator 来播放连续的哔声。问题是音量太小了!

当音量低于8时,我们什么都听不到。而最大音量时,它一点也不响亮......

这是DTMF 声音的限制还是我做错了什么?

这是代码:

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);
}
4

2 回答 2

1

我发现问题出在哪里:

ToneGenerator体积在 0 到 100 之间,而流体积在 0 到 15 之间。因此,audio.getStreamMaxVolume(STREAM)在 100 中给出 15,它是低的......

于 2012-12-04T23:38:27.730 回答
1

使用这个,用于使用当前系统音量。

ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_SYSTEM, 100);
于 2019-03-26T06:31:30.640 回答