2012-11-19 48 views
3

我是新的android开发错误发生蜂鸣使用ToneGenerator类

我在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 

谢谢。

回答

2

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

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

完整代码:

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