Skip to content

Commit e046590

Browse files
committed
增加语音总开关
1 parent a876c64 commit e046590

4 files changed

Lines changed: 44 additions & 0 deletions

File tree

app/Language/modules/voice_settings.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
"description": "选择语音合成引擎类型",
1313
},
1414
"volume_group": {"name": "语音设置", "description": "调整语音播报相关设置"},
15+
"voice_enable": {
16+
"name": "语音功能开关",
17+
"description": "开启或关闭语音播报功能",
18+
"switchbutton_name": {"enable": "开启", "disable": "关闭"},
19+
},
1520
"voice_engine": {
1621
"name": "语音引擎",
1722
"description": "选择语音合成引擎类型",
@@ -53,6 +58,11 @@
5358
"name": "Volume settings",
5459
"description": "调整语音播报音量大小",
5560
},
61+
"voice_enable": {
62+
"name": "Voice Function Switch",
63+
"description": "Turn the voice broadcast function on or off",
64+
"switchbutton_name": {"enable": "ON", "disable": "OFF"},
65+
},
5666
"system_volume_group": {
5767
"name": "System volume control",
5868
"description": "选择要控制的系统音量类型",

app/common/voice/voice.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,12 @@ def voice_play(
696696
return
697697

698698
try:
699+
# 检查语音功能是否开启
700+
voice_enable = readme_settings_async("basic_voice_settings", "voice_enable", default=True)
701+
if not voice_enable:
702+
logger.info("语音功能已关闭,跳过语音播放")
703+
return
704+
699705
if not student_names:
700706
return
701707

app/tools/settings_default_storage.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,7 @@
443443
"voice_engine_group": {"default_value": None},
444444
"volume_group": {"default_value": None},
445445
"system_volume_group": {"default_value": None},
446+
"voice_enable": {"default_value": True},
446447
"voice_engine": {"default_value": 0},
447448
"edge_tts_voice_name": {"default_value": "zh-CN-XiaoxiaoNeural"},
448449
"volume_size": {"default_value": 80},

app/view/settings/voice_settings/basic_voice_settings.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,27 @@ def __init__(self, parent=None):
5050
# 初始化Edge TTS Worker
5151
self.edge_tts_worker = None
5252

53+
# 语音功能开关
54+
self.voice_enable_switch = SwitchButton()
55+
self.voice_enable_switch.setOffText(
56+
get_content_switchbutton_name_async(
57+
"basic_voice_settings", "voice_enable", "disable"
58+
)
59+
)
60+
self.voice_enable_switch.setOnText(
61+
get_content_switchbutton_name_async(
62+
"basic_voice_settings", "voice_enable", "enable"
63+
)
64+
)
65+
self.voice_enable_switch.setChecked(
66+
readme_settings_async("basic_voice_settings", "voice_enable", default=True)
67+
)
68+
self.voice_enable_switch.checkedChanged.connect(
69+
lambda state: update_settings(
70+
"basic_voice_settings", "voice_enable", state
71+
)
72+
)
73+
5374
# 语音引擎设置
5475
self.voice_engine = ComboBox()
5576
self.voice_engine.addItems(
@@ -83,6 +104,12 @@ def __init__(self, parent=None):
83104
self.update_edge_tts_voices()
84105

85106
# 添加设置项到分组
107+
self.addGroup(
108+
get_theme_icon("ic_fluent_speaker_off_20_filled"),
109+
get_content_name_async("basic_voice_settings", "voice_enable"),
110+
get_content_description_async("basic_voice_settings", "voice_enable"),
111+
self.voice_enable_switch,
112+
)
86113
self.addGroup(
87114
get_theme_icon("ic_fluent_speaker_2_20_filled"),
88115
get_content_name_async("basic_voice_settings", "voice_engine"),

0 commit comments

Comments
 (0)