mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 22:42:25 -04:00
ensure Anki starts on Windows systems that don't have TTS installed
This commit is contained in:
parent
621774559f
commit
32b38bf26d
2 changed files with 6 additions and 5 deletions
|
@ -639,10 +639,6 @@ def setup_audio(taskman: TaskManager, base_folder: str) -> None:
|
||||||
mplayer = SimpleMplayerSlaveModePlayer(taskman)
|
mplayer = SimpleMplayerSlaveModePlayer(taskman)
|
||||||
av_player.players.append(mplayer)
|
av_player.players.append(mplayer)
|
||||||
|
|
||||||
# currently unused
|
|
||||||
# mpv = SimpleMpvPlayer(base_folder)
|
|
||||||
# av_player.players.append(mpv)
|
|
||||||
|
|
||||||
# tts support
|
# tts support
|
||||||
if isMac:
|
if isMac:
|
||||||
from aqt.tts import MacTTSPlayer
|
from aqt.tts import MacTTSPlayer
|
||||||
|
|
|
@ -472,9 +472,14 @@ if isWin:
|
||||||
return LCIDS.get(dec_str, "unknown")
|
return LCIDS.get(dec_str, "unknown")
|
||||||
|
|
||||||
class WindowsTTSPlayer(TTSProcessPlayer):
|
class WindowsTTSPlayer(TTSProcessPlayer):
|
||||||
|
try:
|
||||||
speaker = win32com.client.Dispatch("SAPI.SpVoice")
|
speaker = win32com.client.Dispatch("SAPI.SpVoice")
|
||||||
|
except:
|
||||||
|
speaker = None
|
||||||
|
|
||||||
def get_available_voices(self) -> List[TTSVoice]:
|
def get_available_voices(self) -> List[TTSVoice]:
|
||||||
|
if self.speaker is None:
|
||||||
|
return []
|
||||||
return list(map(self._voice_to_object, self.speaker.GetVoices()))
|
return list(map(self._voice_to_object, self.speaker.GetVoices()))
|
||||||
|
|
||||||
def _voice_to_object(self, voice: Any):
|
def _voice_to_object(self, voice: Any):
|
||||||
|
|
Loading…
Reference in a new issue