chore: fix TTS voice initialization (#3469)

pull/2245/head
ggurdin 4 months ago committed by GitHub
parent 480ad320f4
commit 3dd0542703
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -22,6 +22,7 @@ import 'package:fluffychat/pangea/spaces/controllers/space_controller.dart';
import 'package:fluffychat/pangea/subscription/controllers/subscription_controller.dart';
import 'package:fluffychat/pangea/toolbar/controllers/speech_to_text_controller.dart';
import 'package:fluffychat/pangea/toolbar/controllers/text_to_speech_controller.dart';
import 'package:fluffychat/pangea/toolbar/controllers/tts_controller.dart';
import 'package:fluffychat/pangea/user/controllers/permissions_controller.dart';
import 'package:fluffychat/pangea/user/controllers/user_controller.dart';
import 'package:fluffychat/widgets/matrix.dart';
@ -76,6 +77,8 @@ class PangeaController {
getAnalytics.initialize();
subscriptionController.initialize();
setPangeaPushRules();
TtsController.setAvailableLanguages();
}
/// Initialize controllers

@ -13,7 +13,6 @@ import 'package:sentry_flutter/sentry_flutter.dart';
import 'package:fluffychat/pages/chat/chat.dart';
import 'package:fluffychat/pages/chat/events/audio_player.dart';
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_text_model.dart';
import 'package:fluffychat/pangea/instructions/instructions_enum.dart';
import 'package:fluffychat/pangea/instructions/instructions_show_popup.dart';
@ -21,14 +20,13 @@ import 'package:fluffychat/pangea/learning_settings/constants/language_constants
import 'package:fluffychat/pangea/toolbar/controllers/text_to_speech_controller.dart';
import 'package:fluffychat/widgets/matrix.dart';
class TtsController {
static void initialize() {
setAvailableLanguages();
}
import 'package:fluffychat/pangea/common/utils/error_handler.dart'
as error_handler;
class TtsController {
static List<String> _availableLangCodes = [];
static final flutter_tts.FlutterTts _tts = flutter_tts.FlutterTts();
static final _tts = flutter_tts.FlutterTts();
static final StreamController<bool> loadingChoreoStream =
StreamController<bool>.broadcast();
@ -36,7 +34,7 @@ class TtsController {
static Future<void> _onError(dynamic message) async {
if (message != 'canceled' && message != 'interrupted') {
ErrorHandler.logError(
error_handler.ErrorHandler.logError(
e: 'TTS error',
data: {
'message': message,
@ -51,7 +49,7 @@ class TtsController {
await _setAvailableBaseLanguages();
} catch (e, s) {
debugger(when: kDebugMode);
ErrorHandler.logError(
error_handler.ErrorHandler.logError(
e: e,
s: s,
data: {},
@ -106,7 +104,7 @@ class TtsController {
audioPlayer?.stop();
if (result != 1) {
ErrorHandler.logError(
error_handler.ErrorHandler.logError(
m: 'Unexpected result from tts.stop',
data: {
'result': result,
@ -115,7 +113,7 @@ class TtsController {
}
} catch (e, s) {
debugger(when: kDebugMode);
ErrorHandler.logError(
error_handler.ErrorHandler.logError(
e: e,
s: s,
data: {},
@ -138,6 +136,10 @@ class TtsController {
final prevOnStop = _onStop;
_onStop = onStop;
if (_availableLangCodes.isEmpty) {
await setAvailableLanguages();
}
_tts.setErrorHandler((message) {
_onError(message);
prevOnStop?.call();
@ -240,7 +242,7 @@ class TtsController {
// }
} catch (e, s) {
debugger(when: kDebugMode);
ErrorHandler.logError(
error_handler.ErrorHandler.logError(
e: e,
s: s,
data: {
@ -275,7 +277,7 @@ class TtsController {
),
);
} catch (e, s) {
ErrorHandler.logError(
error_handler.ErrorHandler.logError(
e: e,
s: s,
data: {
@ -301,7 +303,7 @@ class TtsController {
);
await audioPlayer!.play();
} catch (e, s) {
ErrorHandler.logError(
error_handler.ErrorHandler.logError(
e: 'Error playing audio',
s: s,
data: {

@ -21,7 +21,6 @@ import 'package:url_launcher/url_launcher_string.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pangea/common/controllers/pangea_controller.dart';
import 'package:fluffychat/pangea/common/utils/any_state_holder.dart';
import 'package:fluffychat/pangea/toolbar/controllers/tts_controller.dart';
import 'package:fluffychat/utils/client_manager.dart';
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_file_extension.dart';
import 'package:fluffychat/utils/platform_infos.dart';
@ -260,7 +259,6 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
),
);
pangeaController = PangeaController(matrix: widget, matrixState: this);
TtsController.initialize();
// Pangea#
}

Loading…
Cancel
Save