You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.9 KiB
66 lines
1.9 KiB
import 'package:get/get.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
class SettingsController extends GetxController {
|
|
// 噪声消除开关状态
|
|
final RxBool noiseReductionEnabled = true.obs;
|
|
|
|
// 环境音增强模式
|
|
final RxString ambientSoundMode = '中等'.obs;
|
|
final List<String> availableAmbientModes = ['关闭', '低', '中等', '高'];
|
|
|
|
// 立体声平衡值
|
|
final RxDouble stereoBalance = 0.0.obs; // -1.0 (左) 到 1.0 (右), 0 为中间
|
|
|
|
// AI助理默认模式
|
|
final RxString aiAssistantMode = '通用助手'.obs;
|
|
final List<String> availableAiModes = ['通用助手', '翻译助手', '学习助手', '交际助手'];
|
|
|
|
// AI声音选择
|
|
final RxString aiVoice = '默认女声'.obs;
|
|
final List<String> availableVoices = ['默认女声', '默认男声', '温柔女声', '磁性男声', '活力女声'];
|
|
|
|
// 翻译语言对
|
|
final RxString sourceLanguage = '中文'.obs;
|
|
final RxString targetLanguage = '英文'.obs;
|
|
final List<String> availableLanguages = ['中文', '英文', '日文', '韩文', '法文', '德文', '西班牙文', '俄文'];
|
|
|
|
void toggleNoiseReduction(bool value) {
|
|
noiseReductionEnabled.value = value;
|
|
}
|
|
|
|
void updateAmbientSoundMode(String mode) {
|
|
ambientSoundMode.value = mode;
|
|
}
|
|
|
|
void updateStereoBalance(double value) {
|
|
stereoBalance.value = value;
|
|
}
|
|
|
|
void updateAiAssistantMode(String mode) {
|
|
aiAssistantMode.value = mode;
|
|
}
|
|
|
|
void updateAiVoice(String voice) {
|
|
aiVoice.value = voice;
|
|
}
|
|
|
|
void setSourceLanguage(String language) {
|
|
sourceLanguage.value = language;
|
|
}
|
|
|
|
void setTargetLanguage(String language) {
|
|
targetLanguage.value = language;
|
|
}
|
|
|
|
void swapLanguages() {
|
|
final temp = sourceLanguage.value;
|
|
sourceLanguage.value = targetLanguage.value;
|
|
targetLanguage.value = temp;
|
|
}
|
|
|
|
void signOut() {
|
|
// 在此实现退出登录逻辑
|
|
Get.offAllNamed('/login');
|
|
}
|
|
}
|