Ошибка генерации звукового сигнала с использованием класса ToneGenerator

Я новичок в разработке 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 ответ

Решение

Я знаю, что сейчас слишком поздно, но я выкладываю ответ, потому что кто-нибудь придет позже.

это было как раз о выпуске созданных объектов ToneGenerator потому что быстрое создание объектов ToneGenerator без их освобождения приведет к сбою приложения.

полный код:

    final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100);
    tg.startTone(ToneGenerator.TONE_PROP_BEEP);
    tg.release();
Другие вопросы по тегам