This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I/flutter (30593): AudioController: Service state changed to TtsState.idle | |
I/flutter (30593): AudioController: State update START - OLD: TtsState.playing -> NEW: TtsState.idle | |
I/flutter (30593): AudioController: BEFORE reset - currentId: romanos831RVR1960, isActive: true, operationInProgress: false | |
I/flutter (30593): AudioController: IMMEDIATE idle reset | |
I/flutter (30593): AudioController: AFTER idle reset - currentId: null, currentState: TtsState.idle, isActive: false, operationInProgress: false | |
I/flutter (30593): AudioController: Ignorando progress update - estado idle (local: TtsState.idle, service: TtsState.idle) | |
I/flutter (30593): AudioController: Microtask notification for idle reset | |
I/flutter (30593): AudioController: isDevocionalPlaying(romanos831RVR1960) - Checking... | |
I/flutter (30593): Local: currentId=romanos831RVR1960, state=TtsState.playing, isActive=true, operationInProgress=false | |
I/flutter (30593): Service: currentId=null, state=TtsState.idle |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:async'; | |
import 'package:devocional_nuevo/models/devocional_model.dart'; | |
import 'package:devocional_nuevo/services/tts_service.dart'; | |
import 'package:flutter/widgets.dart'; | |
/// AudioController refactorizado como proxy reactivo puro | |
/// Eliminado estado local duplicado - solo retransmite estados del TtsService | |
class AudioController extends ChangeNotifier { | |
final TtsService _ttsService = TtsService(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:async'; | |
import 'dart:developer' as developer; | |
import 'dart:io' show Platform; | |
import 'package:devocional_nuevo/models/devocional_model.dart'; | |
import 'package:devocional_nuevo/services/localization_service.dart'; | |
import 'package:devocional_nuevo/services/spiritual_stats_service.dart'; | |
import 'package:devocional_nuevo/services/tts/bible_text_formatter.dart'; | |
import 'package:devocional_nuevo/services/tts/voice_settings_service.dart'; | |
import 'package:flutter/foundation.dart'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:async'; | |
import 'dart:developer' as developer; | |
import 'dart:io' show Platform; | |
import 'package:devocional_nuevo/models/devocional_model.dart'; | |
import 'package:devocional_nuevo/services/localization_service.dart'; | |
import 'package:devocional_nuevo/services/spiritual_stats_service.dart'; | |
import 'package:devocional_nuevo/services/tts/bible_text_formatter.dart'; | |
// ✅ AGREGADO: Import de SpecializedTextNormalizer |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.MainActivity', { action=ACTION_UP, id[0]=0, pointerCount=1, eventTime=918637644, downTime=918637611, phoneEventTime=17:01:45.724 } moveCount:3 | |
I/flutter (24596): TtsPlayerWidget: Button pressed - currentState: TtsState.idle, isThisDevocional: false | |
I/flutter (24596): 🎵 AudioController: playDevotional(efesios5_1_2RVR1960) called | |
I/flutter (24596): 🎵 Current state before play: currentId=null, state=TtsState.idle, isActive=false | |
I/flutter (24596): AudioController: Starting operation: playDevotional | |
I/flutter (24596): 🎤 TTS: Starting devotional efesios5_1_2RVR1960 at 2025-09-05 17:01:45.785278 | |
I/flutter (24596): 📝 TTS: Generated 14 chunks for language es | |
I/flutter (24596): 0: Versículo:: Efesios capítulo 5 versículo 1-Segundo... | |
I/flutter (24596): 1: Reflexión:: | |
I/flutter (24596): 2: La exhortación de Pablo en Efesios capítulo 5 vers... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:async'; | |
import 'dart:developer' as developer; | |
import 'dart:io' show Platform; | |
import 'package:devocional_nuevo/models/devocional_model.dart'; | |
import 'package:devocional_nuevo/services/localization_service.dart'; | |
import 'package:devocional_nuevo/services/spiritual_stats_service.dart'; | |
import 'package:devocional_nuevo/services/tts/bible_text_formatter.dart'; | |
// ✅ AGREGADO: Import de SpecializedTextNormalizer | |
import 'package:devocional_nuevo/services/tts/specialized_text_normalizer.dart'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
🌐 TTS: Language context set to es (RVR1960) | |
⚠️ TTS: Cannot update language - service not initialized | |
[BibleTextFormatter] formatBibleBook called with reference="1 Juan", language="es" | |
[BibleTextFormatter] formatBibleBook called with reference="2 Pedro", language="es" | |
[BibleTextFormatter] formatBibleBook called with reference="3 Juan", language="es" | |
🌐 TTS: Language context set to en (KJV) | |
🔄 TTS: Syncing localization service to language context en | |
⚠️ TTS: Cannot update language - service not initialized | |
[BibleTextFormatter] formatBibleBook called with reference="1 John", language="en" | |
[BibleTextFormatter] formatBibleBook called with reference="2 Corinthians", language="en" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:async'; | |
import 'package:flutter/foundation.dart'; | |
import 'package:flutter_tts/flutter_tts.dart'; | |
enum TtsState { idle, initializing, playing, paused, stopping, error } | |
/// Audio playback management for TTS | |
/// Optimized with successful logic from backup for fluid chunk transitions | |
class TtsAudioPlayer { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'dart:async'; | |
import 'package:flutter/foundation.dart'; | |
import 'package:flutter_tts/flutter_tts.dart'; | |
enum TtsState { idle, initializing, playing, paused, stopping, error } | |
/// Audio playback management for TTS | |
/// Optimized with successful logic from backup for fluid chunk transitions | |
class TtsAudioPlayer { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 | |
/// Language-specific text normalization for TTS | |
/// Handles ordinal numbers, abbreviations, and other language-specific formatting | |
class LanguageTextNormalizer { | |
/// Get ordinal word for a number based on language | |
static String getOrdinal(int number, String language) { | |
try { | |
switch (language) { | |
case 'en': |