react-native-davoice-tts 1.0.356 → 1.0.358

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/TTSRNBridge.podspec +1 -1
  2. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.aar +0 -0
  3. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.aar.md5 +1 -1
  4. package/android/libs/com/davoice/tts/1.0.0/tts-1.0.0.aar.sha1 +1 -1
  5. package/ios/SpeechBridge/SpeechBridge.m +30 -0
  6. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/DavoiceTTS +0 -0
  7. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Headers/DavoiceTTS-Swift.h +11 -2
  8. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Info.plist +0 -0
  9. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.abi.json +3697 -3100
  10. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.private.swiftinterface +64 -20
  11. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  12. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios.swiftinterface +64 -20
  13. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/DavoiceTTS +0 -0
  14. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Headers/DavoiceTTS-Swift.h +22 -4
  15. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Info.plist +0 -0
  16. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.abi.json +9392 -8795
  17. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +90 -46
  18. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  19. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/arm64-apple-ios-simulator.swiftinterface +90 -46
  20. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.abi.json +9392 -8795
  21. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +90 -46
  22. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  23. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/Modules/DavoiceTTS.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +90 -46
  24. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeDirectory +0 -0
  25. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeRequirements-1 +0 -0
  26. package/ios/TTSRNBridge/DavoiceTTS.xcframework/ios-arm64_x86_64-simulator/DavoiceTTS.framework/_CodeSignature/CodeResources +34 -34
  27. package/ios/TTSRNBridge/libucd.xcframework/Info.plist +5 -5
  28. package/package.json +1 -1
  29. package/speech/index.ts +60 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-davoice-tts",
3
- "version": "1.0.356",
3
+ "version": "1.0.358",
4
4
  "description": "tts library for React Native",
5
5
  "main": "tts/index.js",
6
6
  "types": "tts/index.d.ts",
package/speech/index.ts CHANGED
@@ -80,6 +80,42 @@ export type NewSpeechWAVEvent = { path: string };
80
80
  export type RNAssetLike = any; // keep permissive (Metro asset numbers/objects vary)
81
81
  export type ModelRef = string | RNAssetLike;
82
82
 
83
+ /** iOS AVAudioSession routing entry shared by STT and TTS. */
84
+ export type RouteConfigEntry = {
85
+ category: 'playAndRecord' | 'record' | 'soloAmbient' | 'ambient' | 'playback';
86
+ mode: 'default' | 'measurement' | 'voiceChat' | 'videoRecording' | 'gameChat';
87
+ options: (
88
+ | 'mixWithOthers'
89
+ | 'duckOthers'
90
+ | 'allowBluetooth'
91
+ | 'allowBluetoothA2DP'
92
+ | 'allowAirPlay'
93
+ | 'defaultToSpeaker'
94
+ | 'overrideMutedMicrophoneInterruption'
95
+ )[];
96
+ preferredInput: 'none' | 'builtInMic';
97
+ /** On onFinishPlaying, deactivate with notifyOthersOnDeactivation before restoring regular routing. */
98
+ notifyOthers?: boolean;
99
+ };
100
+
101
+ /** Same JSON shape accepted by react-native-wakeword. */
102
+ export type AudioRoutingConfig = {
103
+ default: RouteConfigEntry;
104
+ byOutputPort?: {
105
+ carAudio?: RouteConfigEntry;
106
+ builtInReceiver?: RouteConfigEntry;
107
+ builtInSpeaker?: RouteConfigEntry;
108
+ bluetoothA2DP?: RouteConfigEntry;
109
+ bluetoothHFP?: RouteConfigEntry;
110
+ headphones?: RouteConfigEntry;
111
+ };
112
+ /** Optional temporary routing policy for speaker playback batches (speak/playWav/playBuffer). */
113
+ WhenPlayingAudio?: {
114
+ onPlay?: RouteConfigEntry;
115
+ onFinishPlaying?: RouteConfigEntry;
116
+ };
117
+ };
118
+
83
119
  export type UnifiedEvents = {
84
120
  // STT
85
121
  onSpeechStart?: (e: SpeechStartEvent) => void;
@@ -413,6 +449,30 @@ class Speech {
413
449
  }
414
450
 
415
451
  // ---------- Init / Destroy ----------
452
+ /**
453
+ * iOS: set the routing JSON used by both STT and TTS before initialization.
454
+ * This direct value takes precedence over the wakeword library's config.
455
+ */
456
+ async setAudioRoutingConfig(config: AudioRoutingConfig) {
457
+ if (Platform.OS !== 'ios') return;
458
+ if (!config || typeof config !== 'object' || !config.default) {
459
+ throw new Error("setAudioRoutingConfig requires a config with a 'default' entry");
460
+ }
461
+ if (!NativeSpeech?.setAudioRoutingConfig) {
462
+ throw new Error('Native SpeechBridge missing setAudioRoutingConfig()');
463
+ }
464
+ return NativeSpeech.setAudioRoutingConfig(JSON.stringify(config));
465
+ }
466
+
467
+ /** Clears the direct speech config so STT/TTS fall back to wakeword routing JSON. */
468
+ async clearAudioRoutingConfig() {
469
+ if (Platform.OS !== 'ios') return;
470
+ if (!NativeSpeech?.clearAudioRoutingConfig) {
471
+ throw new Error('Native SpeechBridge missing clearAudioRoutingConfig()');
472
+ }
473
+ return NativeSpeech.clearAudioRoutingConfig();
474
+ }
475
+
416
476
  /**
417
477
  * iOS: initialize STT then TTS via native SpeechBridge if available.
418
478
  * Android: no special init needed; optionally preload TTS (if you want).