Android 播放ToneGenerator原因ANR

Android 播放ToneGenerator原因ANR,android,audio,Android,Audio,单击拨号板时,播放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

单击拨号板时,播放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
您可以检查代码::


由于ANR,发电机停止超时。但ToneGenerator导致停止超时的原因是什么?如何分析和解决此问题?

您可以简单地为我使用及其工作

 ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
 toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200);

请提供ToneGeneratorI的代码,我已将问题编辑为代码提供者。
 ToneGenerator toneG = new ToneGenerator(AudioManager.STREAM_ALARM, 100);
 toneG.startTone(ToneGenerator.TONE_CDMA_ALERT_CALL_GUARD, 200);