Играть ToneGenerator причина ANR - PullRequest
       4

Играть ToneGenerator причина ANR

0 голосов
/ 11 апреля 2019

При нажатии на блок набора номера, играть в ToneGenerator, но вызвать ANR。

Журнал:

01-02 04:02:48.209 392 2548 E audio_hw_primary: out_write: error -5, cannot write stream data: I/O error
01-02 04:02:48.209 392 2548 D audio_hw_primary: out_standby: enter: stream (0xae38a800) usecase(0: deep-buffer-playback)

01-02 04:02:48.249 392 3038 E audio_hw_primary: out_write: error -5, cannot write stream data: I/O error
01-02 04:02:48.249 392 3038 D audio_hw_primary: out_standby: enter: stream (0xae3ed000) usecase(1: low-latency-playback)

01-02 04:02:48.772 423 1116 W AudioFlinger: write blocked for 10554 msecs, 50 delayed writes, thread 0xae883ec0
01-02 04:02:48.772 423 1116 D AudioFlinger: mixer(0xae883ec0) throttle end: throttle time(19)

01-02 04:02:49.579 1767 1767 E ToneGenerator: — Stop timed out

01-02 04:02:52.639 1767 1767 E ToneGenerator: — Delayed start timed out, status -110
01-02 04:02:52.639 1767 1767 W ToneGenerator: Tone start failed!!!, time 8178550

Вы можете проверить код: DialpadFragment.java - ToneGenerator :

private void playTone(int tone, int durationMs) 
private void stopTone()

Тайм-аут остановки ToneGenerator вызывает ANR.Но что заставило ToneGenerator остановить тайм-аут?Как проанализировать и исправить эту проблему?

1 Ответ

0 голосов
/ 11 апреля 2019

вы можете просто использовать и его работа для меня

 ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
 toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...