Проблема с языковым стандартом Flutter voice_to_text: эмулятор Android поддерживает японский язык, но по умолчанию в пикAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с языковым стандартом Flutter voice_to_text: эмулятор Android поддерживает японский язык, но по умолчанию в пик

Сообщение Anonymous »

Я создаю приложение Flutter, которое использует пакет https://pub.dev/packages/speech_to_text v6.6.2 для функции преобразования речи в текст. Мое приложение отлично работает с голосовым вводом на японском языке (ja-JP) на эмуляторе Android через VS Code. Однако, когда я запускаю то же приложение на своем Google Pixel 8a (та же версия Android 15), по умолчанию для распознавания речи используется английский язык, хотя на Pixel я установил все японские языковые пакеты. Даже если на моем Pixel установлен языковой стандарт ja_JP, при разговоре на японском языке результат будет на английском языке, и тот же результат будет, когда я попытаюсь установить язык, отличный от японского.
  • Это проблема локали на более глубоком уровне, чем то, что могут изменить настройки моего мобильного устройства?
  • Возможно, я могу это исправить с помощью настроек сборки и т. д.?< /li>
    Почему ja_JP поддерживается на эмуляторе, но нет на моем Pixel?
Вот фрагмент соответствующих частей моего кода:

Код: Выделить всё

// speech_to_text
late SpeechToText _speechToText;
bool _speechEnabled = false;
bool _isMicRecording = false;
String? _voiceMessage = '';

@override
void initState() {
super.initState();
_speechToText = SpeechToText();
_initSpeech();
}

// Initialize SpeechToText
void _initSpeech() async {
_speechEnabled = await _speechToText.initialize();
setState(() {});
}

// Start listening for speech
void _startListening() async {
setState(() {
_isMicRecording = true;
});
await _speechToText.listen(
onResult: _onSpeechResult,
listenFor: Duration(minutes: 1),
pauseFor: Duration(minutes: 1),
listenOptions: SpeechListenOptions(
partialResults: true,
),
localeId: 'ja_JP', // Where I set the locale
);
}
Что я пробовал:
  • Загрузить пакет японского языка на Pixel
    < li>Удалить английский, установить JP в качестве языка по умолчанию.
  • Попробовал мое приложение на двух других устройствах Android, результат тот же.
  • добавил ВСЕ необходимые разрешения в AndroidManifest. .xml
Что Я заметил:

[*]В системных настройках эмулятора не установлен японский язык, но он по-прежнему без проблем распознает японскую речь.

[*]При установке языка Pixel на EN не отображается ja_JP в списке локалей, но при установке для Pixel языка JP языковой стандарт появляется. В любом случае, несмотря на то, что указано значение ja_JP, голосовой ввод всегда на английском языке.
Любой совет поможет, спасибо!



Подробнее здесь: https://stackoverflow.com/questions/793 ... se-but-pix
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»