ensure Anki starts on Windows systems that don't have TTS installed

This commit is contained in:
Damien Elmes 2020-02-25 16:25:17 +10:00
parent 621774559f
commit 32b38bf26d
2 changed files with 6 additions and 5 deletions

View file

@ -639,10 +639,6 @@ def setup_audio(taskman: TaskManager, base_folder: str) -> None:
mplayer = SimpleMplayerSlaveModePlayer(taskman)
av_player.players.append(mplayer)
# currently unused
# mpv = SimpleMpvPlayer(base_folder)
# av_player.players.append(mpv)
# tts support
if isMac:
from aqt.tts import MacTTSPlayer

View file

@ -472,9 +472,14 @@ if isWin:
return LCIDS.get(dec_str, "unknown")
class WindowsTTSPlayer(TTSProcessPlayer):
speaker = win32com.client.Dispatch("SAPI.SpVoice")
try:
speaker = win32com.client.Dispatch("SAPI.SpVoice")
except:
speaker = None
def get_available_voices(self) -> List[TTSVoice]:
if self.speaker is None:
return []
return list(map(self._voice_to_object, self.speaker.GetVoices()))
def _voice_to_object(self, voice: Any):