From e1d3b04dd0437b1364dcde47c557a2ee843b4323 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sun, 16 Jan 2022 16:26:30 +0100 Subject: [PATCH] Bugfix: MediaPlayer creation might fail for ttsFallback. Seen on a Fairphone 4. Part of #963. --- .../announcement/VoiceAnnouncement.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncement.java b/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncement.java index bbf89dc73..1470430ba 100644 --- a/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncement.java +++ b/src/main/java/de/dennisguse/opentracks/services/announcement/VoiceAnnouncement.java @@ -126,8 +126,12 @@ public class VoiceAnnouncement { } if (ttsFallback == null) { ttsFallback = MediaPlayer.create(context, R.raw.tts_fallback); - ttsFallback.setAudioStreamType(AUDIO_STREAM); - ttsFallback.setLooping(false); + if (ttsFallback == null) { + Log.w(TAG, "MediaPlayer for ttsFallback could not be created."); + } else { + ttsFallback.setAudioStreamType(AUDIO_STREAM); + ttsFallback.setLooping(false); + } } } @@ -148,9 +152,13 @@ public class VoiceAnnouncement { } if (!ttsReady) { - Log.i(TAG, "TTS not ready/available, just generating a tone."); - ttsFallback.seekTo(0); - ttsFallback.start(); + if (ttsFallback == null) { + Log.w(TAG, "MediaPlayer for ttsFallback was not created."); + } else { + Log.i(TAG, "TTS not ready/available, just generating a tone."); + ttsFallback.seekTo(0); + ttsFallback.start(); + } return; }