Browse Source

Merge branch 'new_dev' of https://github.com/deepcloud2048/deep_voice into liwei

newdev_shunjiawei
liwei1dao 1 year ago
parent
commit
363ef589f8
  1. 8
      lib/modules/settings/views/permissions_view.dart
  2. 36
      local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt

8
lib/modules/settings/views/permissions_view.dart

@ -156,7 +156,7 @@ class PermissionsView extends GetView<SettingsController> {
return 'phone'.tr; // 电话 return 'phone'.tr; // 电话
case Permission.sms: case Permission.sms:
return 'sms'.tr; // 短信 return 'sms'.tr; // 短信
case Permission.calendarFullAccess: case Permission.calendarWriteOnly:
return 'calendarWrite'.tr; // 日历写入 return 'calendarWrite'.tr; // 日历写入
case Permission.calendarFullAccess: case Permission.calendarFullAccess:
return 'calendarFullAccess'.tr; // 日历完整访问 return 'calendarFullAccess'.tr; // 日历完整访问
@ -174,7 +174,7 @@ class PermissionsView extends GetView<SettingsController> {
return 'phonePermissionDesc'.tr; // 用于拨打电话功能 return 'phonePermissionDesc'.tr; // 用于拨打电话功能
case Permission.sms: case Permission.sms:
return 'smsPermissionDesc'.tr; // 用于发送短信功能 return 'smsPermissionDesc'.tr; // 用于发送短信功能
case Permission.calendarFullAccess: case Permission.calendarWriteOnly:
return 'calendarWritePermissionDesc'.tr; // 用于创建日历事件和提醒 return 'calendarWritePermissionDesc'.tr; // 用于创建日历事件和提醒
case Permission.calendarFullAccess: case Permission.calendarFullAccess:
return 'calendarFullAccessPermissionDesc'.tr; // 用于读取和管理日历事件及提醒 return 'calendarFullAccessPermissionDesc'.tr; // 用于读取和管理日历事件及提醒
@ -349,7 +349,7 @@ class PermissionsView extends GetView<SettingsController> {
return 'phone'.tr; // 电话 return 'phone'.tr; // 电话
case Permission.sms: case Permission.sms:
return 'sms'.tr; // 短信 return 'sms'.tr; // 短信
case Permission.calendarFullAccess: case Permission.calendarWriteOnly:
return 'calendarWrite'.tr; // 日历写入 return 'calendarWrite'.tr; // 日历写入
case Permission.calendarFullAccess: case Permission.calendarFullAccess:
return 'calendarFullAccess'.tr; // 日历完整访问 return 'calendarFullAccess'.tr; // 日历完整访问
@ -367,7 +367,7 @@ class PermissionsView extends GetView<SettingsController> {
return 'phonePermissionDetailDesc'.tr; // 拨打电话功能需要电话权限 return 'phonePermissionDetailDesc'.tr; // 拨打电话功能需要电话权限
case Permission.sms: case Permission.sms:
return 'smsPermissionDetailDesc'.tr; // 发送短信功能需要短信权限 return 'smsPermissionDetailDesc'.tr; // 发送短信功能需要短信权限
case Permission.calendarFullAccess: case Permission.calendarWriteOnly:
return 'calendarWritePermissionDetailDesc'.tr; // 创建日历事件需要日历写入权限 return 'calendarWritePermissionDetailDesc'.tr; // 创建日历事件需要日历写入权限
case Permission.calendarFullAccess: case Permission.calendarFullAccess:
return 'calendarFullAccessPermissionDetailDesc'.tr; // 管理日历事件需要完整日历权限 return 'calendarFullAccessPermissionDetailDesc'.tr; // 管理日历事件需要完整日历权限

36
local_plugins/agent_service/android/src/main/kotlin/com/yunqiinnovation/agent_service/AgentService.kt

@ -1140,32 +1140,24 @@ object AgentService : CoroutineScope {
return try { return try {
Log.i(TAG, "设置支持的语言: ${languages.joinToString(", ")}") Log.i(TAG, "设置支持的语言: ${languages.joinToString(", ")}")
// 重新初始化ASR服务以应用新的语言设置
val asrSuccess = AzureAsrHelper(context).apply {
// 使用协程处理异步初始化 val asrSuccess = azureAsrHelper?.initialize(
CoroutineScope(Dispatchers.IO).launch { subscriptionKey = this.azureSpeechKey,
//获取语音识别的语种 region = this.azureSpeechRegion,
val supportedLanguagesConfig = config["supportedLanguages"] as? List<String> supportedLanguages = languages.toTypedArray(),
val supportedLanguages = supportedLanguagesConfig?.toTypedArray() audioSourceType = audioSourceType
?: arrayOf("zh-CN") // 默认支持多语言 ) ?: false
language = supportedLanguages[0]
val asrInitSuccess = initialize( if (asrSuccess) {
subscriptionKey = config["azureSpeechKey"]?.toString() ?: "",
region = config["azureSpeechRegion"]?.toString() ?: "",
supportedLanguages = supportedLanguages,
audioSourceType = if (isExternalActive) AzureAsrHelper.AudioSourceType.EXTERNAL
else AzureAsrHelper.AudioSourceType.MICROPHONE
)
if (asrInitSuccess) {
withContext(Dispatchers.Main) {
recognizeCallback() recognizeCallback()
}
} else { } else {
Log.w(TAG, "Azure ASR初始化失败") Log.w(TAG, "Azure ASR初始化失败")
} }
}
}
// 同时更新TTS语言设置 // 同时更新TTS语言设置
val ttsSuccess = updateTtsLanguage(languages.first()) // 使用第一个语言作为TTS语言 val ttsSuccess = updateTtsLanguage(languages.first()) // 使用第一个语言作为TTS语言

Loading…
Cancel
Save