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.

39 lines
1016 B

import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import '../../../data/services/tts_service.dart';
class VoiceReplicationController extends GetxController {
final TtsService _ttsService = Get.find<TtsService>();
final GetStorage _storage = GetStorage();
RxBool isReplicating = false.obs;
RxString speakerProfileId = ''.obs;
RxBool isAgent = false.obs;
RxBool isSimultaneous = false.obs;
RxBool isCall = false.obs;
RxBool isFaceToFace = false.obs;
@override
void onInit() {
super.onInit();
_getDefaultData();
}
void _getDefaultData() {
isReplicating.value = _storage.read('open_voice_replication') ?? false;
speakerProfileId.value = _storage.read('speakerProfileId') ?? '';
}
void enableVoiceFlocking() {
if (speakerProfileId.value.isNotEmpty) {
_ttsService.setVoiceFlocking(
isReplicating.value ? speakerProfileId.value : '',
);
_storage.write('open_voice_replication', isReplicating.value);
}
}
}