我是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
感谢。
答案 0 :(得分:3)
我知道现在已经太晚了,但是我发布了答案,任何人都会迟到。
它只是释放ToneGenerator
的已创建对象,因为快速创建'ToneGenerator'对象而不释放它们会导致应用程序崩溃。
完整代码:
final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);
tg.startTone(ToneGenerator.TONE_PROP_BEEP);
tg.release();