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

问题描述 投票:0回答:2

我正在使用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);
}
android volume tone-generator
2个回答
1
投票

我发现问题出在哪里:

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


0
投票

使用此选项,使用当前系统卷。

ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_SYSTEM, 100);
© www.soinside.com 2019 - 2024. All rights reserved.