5

我是安卓开发新手

我正在一个 android 应用程序中工作,它只是改变音量并播放哔声“以预览当前的声音级别”

startToneToneGenerator课堂上使用来生成此哔声,如下所示:

 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

谢谢。

4

1 回答 1

6

我知道现在为时已晚,但我正在发布答案,任何人都会稍后来。

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

完整代码:

    final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);
    tg.startTone(ToneGenerator.TONE_PROP_BEEP);
    tg.release();
于 2016-08-01T21:03:09.147 回答