使用ToneGenerator类生成蜂鸣声时出错

时间:2012-11-19 22:43:44

标签: android beep tone-generator

我是Android开发的新手

我正在使用Android应用程序,只需更改音量并发出哔声“即可预览当前音量”

我在startTone类中使用ToneGenerator来生成此哔声,如下所示:

 ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_RING, 100);
 tg.startTone(ToneGenerator.TONE_PROP_BEEP);

有时此代码不起作用并生成以下异常

11-20 00:32:44.262: E/AudioTrack(4701): AudioFlinger could not create track, status: -12
11-20 00:32:44.262: E/ToneGenerator(4701): AudioTrack->initCheck failed

感谢。

1 个答案:

答案 0 :(得分:3)

我知道现在已经太晚了,但是我发布了答案,任何人都会迟到。

它只是释放ToneGenerator的已创建对象,因为快速创建'ToneGenerator'对象而不释放它们会导致应用程序崩溃。

完整代码:

    final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);
    tg.startTone(ToneGenerator.TONE_PROP_BEEP);
    tg.release();