|
|
|
@ -8,7 +8,12 @@ import 'package:path/path.dart' as path; |
|
|
|
import 'package:path_provider/path_provider.dart'; |
|
|
|
import 'package:record/record.dart'; |
|
|
|
|
|
|
|
import '../../../data/services/speech_factory.dart'; |
|
|
|
import '../../settings/controllers/settings_controller.dart'; |
|
|
|
|
|
|
|
class TimbreController extends GetxController { |
|
|
|
final SettingsController settingsController = Get.find<SettingsController>(); |
|
|
|
|
|
|
|
final GetStorage _storage = GetStorage(); |
|
|
|
final _record = AudioRecorder(); |
|
|
|
|
|
|
|
@ -24,7 +29,7 @@ class TimbreController extends GetxController { |
|
|
|
|
|
|
|
int _textId = 0; |
|
|
|
int _segId = 0; |
|
|
|
String _taskId = '67e0f5e6025cf871b1de31b2'; |
|
|
|
String _taskId = ''; |
|
|
|
|
|
|
|
@override |
|
|
|
void onInit() { |
|
|
|
@ -218,7 +223,7 @@ class TimbreController extends GetxController { |
|
|
|
text.value = ''; |
|
|
|
dataList.add({ |
|
|
|
'type': _taskId, |
|
|
|
'name': '声音复刻$_taskId', |
|
|
|
'name': '声音复刻${dataList.length}', |
|
|
|
'description': '复刻本人音色服务', |
|
|
|
'isUsable': false |
|
|
|
}); |
|
|
|
@ -254,7 +259,6 @@ class TimbreController extends GetxController { |
|
|
|
dataList.firstWhereOrNull((item) => item['type'] == id); |
|
|
|
if (dataMap != null) { |
|
|
|
dataMap['type'] = body['data']['assetId']; |
|
|
|
dataMap['name'] = '声音复刻${body['data']['assetId']}'; |
|
|
|
dataMap['isUsable'] = true; |
|
|
|
dataList.refresh(); |
|
|
|
_storage.write('timbreList', dataList); |
|
|
|
@ -280,8 +284,20 @@ class TimbreController extends GetxController { |
|
|
|
|
|
|
|
// 选择音色 |
|
|
|
void selectTone(Map data) { |
|
|
|
if (!data['isUsable']) return; |
|
|
|
if (!data['isUsable'] || type.value == data['type']) return; |
|
|
|
type.value = data['type']; |
|
|
|
settingsController.timbreName.value = data['name']; |
|
|
|
_storage.write('timbre', data['type']); |
|
|
|
setSpeechServiceType(); |
|
|
|
} |
|
|
|
|
|
|
|
// 设置语音音色服务类型 |
|
|
|
void setSpeechServiceType() { |
|
|
|
try { |
|
|
|
final factory = Get.find<SpeechFactory>(); |
|
|
|
factory.setTimbreServiceType(); |
|
|
|
} catch (e) { |
|
|
|
// 处理错误 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|