react-native-wakeword 1.1.62 → 1.1.65

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 (26) hide show
  1. package/android/libs/com/davoice/keyworddetection/1.0.0/keyworddetection-1.0.0.aar +0 -0
  2. package/android/libs/com/davoice/keyworddetection/1.0.0/keyworddetection-1.0.0.aar.md5 +1 -1
  3. package/android/libs/com/davoice/keyworddetection/1.0.0/keyworddetection-1.0.0.aar.sha1 +1 -1
  4. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/Info.plist +5 -5
  5. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64/KeyWordDetection.framework/Headers/KeyWordDetection-Swift.h +2 -0
  6. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64/KeyWordDetection.framework/KeyWordDetection +0 -0
  7. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/arm64-apple-ios.abi.json +674 -240
  8. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/arm64-apple-ios.private.swiftinterface +16 -2
  9. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/arm64-apple-ios.swiftinterface +16 -2
  10. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/Headers/KeyWordDetection-Swift.h +4 -0
  11. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/KeyWordDetection +0 -0
  12. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.abi.json +674 -240
  13. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +16 -2
  14. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.swiftinterface +16 -2
  15. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.abi.json +674 -240
  16. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +16 -2
  17. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +16 -2
  18. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/_CodeSignature/CodeDirectory +0 -0
  19. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/_CodeSignature/CodeRequirements-1 +0 -0
  20. package/ios/KeyWordRNBridge/KeyWordDetection.xcframework/ios-arm64_x86_64-simulator/KeyWordDetection.framework/_CodeSignature/CodeResources +27 -27
  21. package/ios/KeyWordRNBridge/KeyWordRNBridge.m +32 -1
  22. package/package.json +1 -1
  23. package/wakewords/KeyWordRNBridge.d.ts +2 -0
  24. package/wakewords/KeyWordRNBridge.js +8 -0
  25. package/wakewords/index.d.ts +1 -1
  26. package/wakewords/index.js +4 -0
@@ -52,8 +52,13 @@ public class AVAudioWrapperFrameListener {
52
52
  public func removeFrameListener(_ listener: KeyWordDetection.AVAudioWrapperFrameListener)
53
53
  public func clearFrameListeners()
54
54
  public func setSessionOptions(sessionOptions: AVFAudio.AVAudioSession.CategoryOptions)
55
+ public var isSessionPaused: Swift.Bool {
56
+ get
57
+ }
55
58
  public func start(frameLength: Swift.UInt32, sampleRate: Swift.UInt32, noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true)
56
59
  public func stop() throws
60
+ public func pauseSession() -> Swift.Bool
61
+ public func resumeSession() -> Swift.Bool
57
62
  @objc deinit
58
63
  }
59
64
  @_hasMissingDesignatedInitializers final public class AppStateTracker {
@@ -99,13 +104,14 @@ public struct SpeakerVerificationConfig : Swift.Codable {
99
104
  public var frameSize: Swift.Int
100
105
  public var tailSeconds: Swift.Float
101
106
  public var maxTailSeconds: Swift.Float
107
+ public var subWindowSeconds: Swift.Float
102
108
  public var meanComboEnabled: Swift.Bool
103
109
  public var meanComboMaxK: Swift.Int
104
110
  public var meanComboMaxTotal: Swift.Int
105
111
  public var logLevel: KeyWordDetection.SVLogLevel
106
112
  public init(from decoder: any Swift.Decoder) throws
107
113
  public func encode(to encoder: any Swift.Encoder) throws
108
- public init(modelPath: Swift.String, sampleRate: Swift.Int = 16_000, numMelBins: Swift.Int = 80, cmn: Swift.Bool = true, frameLengthMs: Swift.Float = 25.0, frameShiftMs: Swift.Float = 10.0, nFFT: Swift.Int = 512, decisionThreshold: Swift.Float = 0.35, expectedLayoutBDT: Swift.Bool = false, frameSize: Swift.Int = 1280, tailSeconds: Swift.Float = 2.0, maxTailSeconds: Swift.Float = 3.0, meanComboEnabled: Swift.Bool = true, meanComboMaxK: Swift.Int = 3, meanComboMaxTotal: Swift.Int = 2000, logLevel: KeyWordDetection.SVLogLevel = .debug)
114
+ public init(modelPath: Swift.String, sampleRate: Swift.Int = 16_000, numMelBins: Swift.Int = 80, cmn: Swift.Bool = true, frameLengthMs: Swift.Float = 25.0, frameShiftMs: Swift.Float = 10.0, nFFT: Swift.Int = 512, decisionThreshold: Swift.Float = 0.35, expectedLayoutBDT: Swift.Bool = false, frameSize: Swift.Int = 1280, tailSeconds: Swift.Float = 2.0, maxTailSeconds: Swift.Float = 3.0, subWindowSeconds: Swift.Float = 0.5, meanComboEnabled: Swift.Bool = true, meanComboMaxK: Swift.Int = 3, meanComboMaxTotal: Swift.Int = 2000, logLevel: KeyWordDetection.SVLogLevel = .debug)
109
115
  }
110
116
  public struct SpeakerEnrollment : Swift.Codable {
111
117
  public let enrollmentId: Swift.String
@@ -182,7 +188,7 @@ final public class SpeakerEnrollmentBuilder {
182
188
  final public var targetEmbeddingCount: Swift.Int
183
189
  public init(config: KeyWordDetection.SpeakerVerificationConfig, enrollmentId: Swift.String, logger: (any KeyWordDetection.SVLogger)? = nil) throws
184
190
  final public func armForNextEmbedding(resetBuffer: Swift.Bool = true)
185
- final public func debugState() -> (armed: Swift.Bool, buffered: Swift.Int, needed: Swift.Int, collected: Swift.Int)
191
+ final public func debugState() -> (armed: Swift.Bool, buffered: Swift.Int, needed: Swift.Int, collected: Swift.Int, windows: Swift.Int)
186
192
  final public func disarm()
187
193
  final public func reset()
188
194
  final public func processEnrollmentFrame(_ frame: [Swift.Float]) throws
@@ -202,6 +208,7 @@ extension KeyWordDetection.SpeakerVerificationRNFacade {
202
208
  extension KeyWordDetection.SpeakerEnrollmentBuilder {
203
209
  final public func processEnrollmentFrameDidCollect(_ frame: [Swift.Float]) throws -> Swift.Bool
204
210
  final public func collectedCount() -> Swift.Int
211
+ final public func collectedWindowCount() -> Swift.Int
205
212
  }
206
213
  public class AVAudioWrapperBuffer {
207
214
  public init(size: Swift.Int)
@@ -216,6 +223,9 @@ public class AVAudioWrapper {
216
223
  public var isRecording: Swift.Bool {
217
224
  get
218
225
  }
226
+ public var isSessionPaused: Swift.Bool {
227
+ get
228
+ }
219
229
  public var frameLength: Swift.UInt32? {
220
230
  get
221
231
  }
@@ -241,6 +251,8 @@ public class AVAudioWrapper {
241
251
  public func start(frameLength: Swift.UInt32, sampleRate: Swift.UInt32, noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true)
242
252
  public func start_org(frameLength: Swift.UInt32, sampleRate: Swift.UInt32, noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true)
243
253
  public func stop() throws
254
+ public func pauseSession() -> Swift.Bool
255
+ public func resumeSession() -> Swift.Bool
244
256
  }
245
257
  @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class GlobalVariables : ObjectiveC.NSObject {
246
258
  @objc public static let shared: KeyWordDetection.GlobalVariables
@@ -268,6 +280,8 @@ public class AVAudioWrapper {
268
280
  @objc public func callBack(frame: [Swift.Float])
269
281
  @objc public func startListening(noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true) -> Swift.Bool
270
282
  @objc public func stopListening()
283
+ @objc public func pauseDetection(stopMic: Swift.Bool = false)
284
+ @objc public func unPauseDetection()
271
285
  @objc public func getVoiceProps() -> [Swift.String : Any]
272
286
  @objc public func startSilentListening() -> Swift.Bool
273
287
  @objc public func startVADListening() -> Swift.Bool
@@ -52,8 +52,13 @@ public class AVAudioWrapperFrameListener {
52
52
  public func removeFrameListener(_ listener: KeyWordDetection.AVAudioWrapperFrameListener)
53
53
  public func clearFrameListeners()
54
54
  public func setSessionOptions(sessionOptions: AVFAudio.AVAudioSession.CategoryOptions)
55
+ public var isSessionPaused: Swift.Bool {
56
+ get
57
+ }
55
58
  public func start(frameLength: Swift.UInt32, sampleRate: Swift.UInt32, noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true)
56
59
  public func stop() throws
60
+ public func pauseSession() -> Swift.Bool
61
+ public func resumeSession() -> Swift.Bool
57
62
  @objc deinit
58
63
  }
59
64
  @_hasMissingDesignatedInitializers final public class AppStateTracker {
@@ -99,13 +104,14 @@ public struct SpeakerVerificationConfig : Swift.Codable {
99
104
  public var frameSize: Swift.Int
100
105
  public var tailSeconds: Swift.Float
101
106
  public var maxTailSeconds: Swift.Float
107
+ public var subWindowSeconds: Swift.Float
102
108
  public var meanComboEnabled: Swift.Bool
103
109
  public var meanComboMaxK: Swift.Int
104
110
  public var meanComboMaxTotal: Swift.Int
105
111
  public var logLevel: KeyWordDetection.SVLogLevel
106
112
  public init(from decoder: any Swift.Decoder) throws
107
113
  public func encode(to encoder: any Swift.Encoder) throws
108
- public init(modelPath: Swift.String, sampleRate: Swift.Int = 16_000, numMelBins: Swift.Int = 80, cmn: Swift.Bool = true, frameLengthMs: Swift.Float = 25.0, frameShiftMs: Swift.Float = 10.0, nFFT: Swift.Int = 512, decisionThreshold: Swift.Float = 0.35, expectedLayoutBDT: Swift.Bool = false, frameSize: Swift.Int = 1280, tailSeconds: Swift.Float = 2.0, maxTailSeconds: Swift.Float = 3.0, meanComboEnabled: Swift.Bool = true, meanComboMaxK: Swift.Int = 3, meanComboMaxTotal: Swift.Int = 2000, logLevel: KeyWordDetection.SVLogLevel = .debug)
114
+ public init(modelPath: Swift.String, sampleRate: Swift.Int = 16_000, numMelBins: Swift.Int = 80, cmn: Swift.Bool = true, frameLengthMs: Swift.Float = 25.0, frameShiftMs: Swift.Float = 10.0, nFFT: Swift.Int = 512, decisionThreshold: Swift.Float = 0.35, expectedLayoutBDT: Swift.Bool = false, frameSize: Swift.Int = 1280, tailSeconds: Swift.Float = 2.0, maxTailSeconds: Swift.Float = 3.0, subWindowSeconds: Swift.Float = 0.5, meanComboEnabled: Swift.Bool = true, meanComboMaxK: Swift.Int = 3, meanComboMaxTotal: Swift.Int = 2000, logLevel: KeyWordDetection.SVLogLevel = .debug)
109
115
  }
110
116
  public struct SpeakerEnrollment : Swift.Codable {
111
117
  public let enrollmentId: Swift.String
@@ -182,7 +188,7 @@ final public class SpeakerEnrollmentBuilder {
182
188
  final public var targetEmbeddingCount: Swift.Int
183
189
  public init(config: KeyWordDetection.SpeakerVerificationConfig, enrollmentId: Swift.String, logger: (any KeyWordDetection.SVLogger)? = nil) throws
184
190
  final public func armForNextEmbedding(resetBuffer: Swift.Bool = true)
185
- final public func debugState() -> (armed: Swift.Bool, buffered: Swift.Int, needed: Swift.Int, collected: Swift.Int)
191
+ final public func debugState() -> (armed: Swift.Bool, buffered: Swift.Int, needed: Swift.Int, collected: Swift.Int, windows: Swift.Int)
186
192
  final public func disarm()
187
193
  final public func reset()
188
194
  final public func processEnrollmentFrame(_ frame: [Swift.Float]) throws
@@ -202,6 +208,7 @@ extension KeyWordDetection.SpeakerVerificationRNFacade {
202
208
  extension KeyWordDetection.SpeakerEnrollmentBuilder {
203
209
  final public func processEnrollmentFrameDidCollect(_ frame: [Swift.Float]) throws -> Swift.Bool
204
210
  final public func collectedCount() -> Swift.Int
211
+ final public func collectedWindowCount() -> Swift.Int
205
212
  }
206
213
  public class AVAudioWrapperBuffer {
207
214
  public init(size: Swift.Int)
@@ -216,6 +223,9 @@ public class AVAudioWrapper {
216
223
  public var isRecording: Swift.Bool {
217
224
  get
218
225
  }
226
+ public var isSessionPaused: Swift.Bool {
227
+ get
228
+ }
219
229
  public var frameLength: Swift.UInt32? {
220
230
  get
221
231
  }
@@ -241,6 +251,8 @@ public class AVAudioWrapper {
241
251
  public func start(frameLength: Swift.UInt32, sampleRate: Swift.UInt32, noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true)
242
252
  public func start_org(frameLength: Swift.UInt32, sampleRate: Swift.UInt32, noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true)
243
253
  public func stop() throws
254
+ public func pauseSession() -> Swift.Bool
255
+ public func resumeSession() -> Swift.Bool
244
256
  }
245
257
  @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc public class GlobalVariables : ObjectiveC.NSObject {
246
258
  @objc public static let shared: KeyWordDetection.GlobalVariables
@@ -268,6 +280,8 @@ public class AVAudioWrapper {
268
280
  @objc public func callBack(frame: [Swift.Float])
269
281
  @objc public func startListening(noExternalActivation: Swift.Bool = true, duckOthers: Swift.Bool = false, mixWithOthers: Swift.Bool = true, defaultToSpeaker: Swift.Bool = true) -> Swift.Bool
270
282
  @objc public func stopListening()
283
+ @objc public func pauseDetection(stopMic: Swift.Bool = false)
284
+ @objc public func unPauseDetection()
271
285
  @objc public func getVoiceProps() -> [Swift.String : Any]
272
286
  @objc public func startSilentListening() -> Swift.Bool
273
287
  @objc public func startVADListening() -> Swift.Bool
@@ -6,7 +6,7 @@
6
6
  <dict>
7
7
  <key>Headers/KeyWordDetection-Swift.h</key>
8
8
  <data>
9
- sJtIaavp7Xzl6xRnpXXCVhZLNEM=
9
+ 4CNphSVymeSQSxsDUtNumsGjx3E=
10
10
  </data>
11
11
  <key>Headers/KeyWordDetection.h</key>
12
12
  <data>
@@ -18,11 +18,11 @@
18
18
  </data>
19
19
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
20
20
  <data>
21
- 0FBkROeCmDv42vSWwB6F00Do0Qs=
21
+ 4UFXkiyPdaiMr0ngUmWBOsw4Vo0=
22
22
  </data>
23
23
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
24
24
  <data>
25
- J/GubsYuWbAcAAYE85yUjPTCGc4=
25
+ ripyTHSyOnUxnchhhANKcj2tfKA=
26
26
  </data>
27
27
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
28
28
  <data>
@@ -30,19 +30,19 @@
30
30
  </data>
31
31
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
32
32
  <data>
33
- J/GubsYuWbAcAAYE85yUjPTCGc4=
33
+ ripyTHSyOnUxnchhhANKcj2tfKA=
34
34
  </data>
35
35
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
36
36
  <data>
37
- U+Iu3w0WPl2M4cfT2APPddQsAl8=
37
+ pRgNxHEC0bV7pjA4X65NWgytCWA=
38
38
  </data>
39
39
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
40
40
  <data>
41
- 0FBkROeCmDv42vSWwB6F00Do0Qs=
41
+ 4UFXkiyPdaiMr0ngUmWBOsw4Vo0=
42
42
  </data>
43
43
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
44
44
  <data>
45
- gf3ixnYyr2SLuE07O10b0MNFTE8=
45
+ Rcq/Er+CGSrkzbztc340eljyMRw=
46
46
  </data>
47
47
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
48
48
  <data>
@@ -50,11 +50,11 @@
50
50
  </data>
51
51
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
52
52
  <data>
53
- gf3ixnYyr2SLuE07O10b0MNFTE8=
53
+ Rcq/Er+CGSrkzbztc340eljyMRw=
54
54
  </data>
55
55
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
56
56
  <data>
57
- 1CndaMwmyiKRCXQ4qbKPfMBpg0M=
57
+ B6CuidlbHr2rFxYEJ20biRZgH/Q=
58
58
  </data>
59
59
  <key>Modules/module.modulemap</key>
60
60
  <data>
@@ -67,11 +67,11 @@
67
67
  <dict>
68
68
  <key>hash</key>
69
69
  <data>
70
- sJtIaavp7Xzl6xRnpXXCVhZLNEM=
70
+ 4CNphSVymeSQSxsDUtNumsGjx3E=
71
71
  </data>
72
72
  <key>hash2</key>
73
73
  <data>
74
- M7qpxb1DYhHIvcMHpoRlMhpJcGRCyls1HdEI5Uhh6n8=
74
+ Ebhcsod1hjWwHfqijyursBMkJ00lHm6EmgWPpNyw3bk=
75
75
  </data>
76
76
  </dict>
77
77
  <key>Headers/KeyWordDetection.h</key>
@@ -89,22 +89,22 @@
89
89
  <dict>
90
90
  <key>hash</key>
91
91
  <data>
92
- 0FBkROeCmDv42vSWwB6F00Do0Qs=
92
+ 4UFXkiyPdaiMr0ngUmWBOsw4Vo0=
93
93
  </data>
94
94
  <key>hash2</key>
95
95
  <data>
96
- UTOE8A8a71PuHZ7KOaqDhMjmIVlqPTq0OTU1NQh+gXk=
96
+ 6dTXWog5gMntMRRSUICcHj1DBslZFgudBVy/uamzumU=
97
97
  </data>
98
98
  </dict>
99
99
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
100
100
  <dict>
101
101
  <key>hash</key>
102
102
  <data>
103
- J/GubsYuWbAcAAYE85yUjPTCGc4=
103
+ ripyTHSyOnUxnchhhANKcj2tfKA=
104
104
  </data>
105
105
  <key>hash2</key>
106
106
  <data>
107
- A6pFA620uAimUra+CRus6stJS7yqpzc9huKBlLYBMzQ=
107
+ Xw4pcOQG8PB9Eq1SAdO957/vc1KwnX4MJaEM6HHj8qw=
108
108
  </data>
109
109
  </dict>
110
110
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
@@ -122,44 +122,44 @@
122
122
  <dict>
123
123
  <key>hash</key>
124
124
  <data>
125
- J/GubsYuWbAcAAYE85yUjPTCGc4=
125
+ ripyTHSyOnUxnchhhANKcj2tfKA=
126
126
  </data>
127
127
  <key>hash2</key>
128
128
  <data>
129
- A6pFA620uAimUra+CRus6stJS7yqpzc9huKBlLYBMzQ=
129
+ Xw4pcOQG8PB9Eq1SAdO957/vc1KwnX4MJaEM6HHj8qw=
130
130
  </data>
131
131
  </dict>
132
132
  <key>Modules/KeyWordDetection.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
133
133
  <dict>
134
134
  <key>hash</key>
135
135
  <data>
136
- U+Iu3w0WPl2M4cfT2APPddQsAl8=
136
+ pRgNxHEC0bV7pjA4X65NWgytCWA=
137
137
  </data>
138
138
  <key>hash2</key>
139
139
  <data>
140
- nZb9pXCbQjE+GPveAGWUpv821j203h7rz1ghWW9LJoU=
140
+ vQct+KlEtEhewuZ8G2GG7hHctzmIg0GPe/4A0wy1ksU=
141
141
  </data>
142
142
  </dict>
143
143
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
144
144
  <dict>
145
145
  <key>hash</key>
146
146
  <data>
147
- 0FBkROeCmDv42vSWwB6F00Do0Qs=
147
+ 4UFXkiyPdaiMr0ngUmWBOsw4Vo0=
148
148
  </data>
149
149
  <key>hash2</key>
150
150
  <data>
151
- UTOE8A8a71PuHZ7KOaqDhMjmIVlqPTq0OTU1NQh+gXk=
151
+ 6dTXWog5gMntMRRSUICcHj1DBslZFgudBVy/uamzumU=
152
152
  </data>
153
153
  </dict>
154
154
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
155
155
  <dict>
156
156
  <key>hash</key>
157
157
  <data>
158
- gf3ixnYyr2SLuE07O10b0MNFTE8=
158
+ Rcq/Er+CGSrkzbztc340eljyMRw=
159
159
  </data>
160
160
  <key>hash2</key>
161
161
  <data>
162
- rPXTms7YUZipexangD1fpkrR0F9cRI7da8NQahrqbf8=
162
+ UleZHlYZz9cA7owTU4DX3E/pNtVP7LczE1lEsBhcbjU=
163
163
  </data>
164
164
  </dict>
165
165
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
@@ -177,22 +177,22 @@
177
177
  <dict>
178
178
  <key>hash</key>
179
179
  <data>
180
- gf3ixnYyr2SLuE07O10b0MNFTE8=
180
+ Rcq/Er+CGSrkzbztc340eljyMRw=
181
181
  </data>
182
182
  <key>hash2</key>
183
183
  <data>
184
- rPXTms7YUZipexangD1fpkrR0F9cRI7da8NQahrqbf8=
184
+ UleZHlYZz9cA7owTU4DX3E/pNtVP7LczE1lEsBhcbjU=
185
185
  </data>
186
186
  </dict>
187
187
  <key>Modules/KeyWordDetection.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
188
188
  <dict>
189
189
  <key>hash</key>
190
190
  <data>
191
- 1CndaMwmyiKRCXQ4qbKPfMBpg0M=
191
+ B6CuidlbHr2rFxYEJ20biRZgH/Q=
192
192
  </data>
193
193
  <key>hash2</key>
194
194
  <data>
195
- JurDtncLsZKCCf+Vn+tmkYaDChQvXQWbwrPPbz4blQI=
195
+ Hb5TkS/bmMVCcM3Bx2yIshrC/4dcs9iOxf9BWOpiubQ=
196
196
  </data>
197
197
  </dict>
198
198
  <key>Modules/module.modulemap</key>
@@ -982,6 +982,37 @@ RCT_EXPORT_METHOD(stopKeywordDetection:(NSString *)instanceId resolver:(RCTPromi
982
982
  }
983
983
  }
984
984
 
985
+ RCT_EXPORT_METHOD(pauseDetection:(NSString *)instanceId
986
+ stopMic:(BOOL)stopMic
987
+ resolver:(RCTPromiseResolveBlock)resolve
988
+ rejecter:(RCTPromiseRejectBlock)reject)
989
+ {
990
+ KeyWordsDetectionWrapper *wrapper = self.instances[instanceId];
991
+ KeyWordsDetection *instance = wrapper.keyWordsDetection;
992
+ if (instance) {
993
+ [instance pauseDetectionWithStopMic:stopMic];
994
+ resolve([NSString stringWithFormat:@"Paused detection for instance: %@ (stopMic=%@)",
995
+ instanceId,
996
+ stopMic ? @"YES" : @"NO"]);
997
+ } else {
998
+ reject(@"InstanceNotFound", [NSString stringWithFormat:@"No instance found with ID: %@", instanceId], nil);
999
+ }
1000
+ }
1001
+
1002
+ RCT_EXPORT_METHOD(unPauseDetection:(NSString *)instanceId
1003
+ resolver:(RCTPromiseResolveBlock)resolve
1004
+ rejecter:(RCTPromiseRejectBlock)reject)
1005
+ {
1006
+ KeyWordsDetectionWrapper *wrapper = self.instances[instanceId];
1007
+ KeyWordsDetection *instance = wrapper.keyWordsDetection;
1008
+ if (instance) {
1009
+ [instance unPauseDetection];
1010
+ resolve([NSString stringWithFormat:@"Unpaused detection for instance: %@", instanceId]);
1011
+ } else {
1012
+ reject(@"InstanceNotFound", [NSString stringWithFormat:@"No instance found with ID: %@", instanceId], nil);
1013
+ }
1014
+ }
1015
+
985
1016
  RCT_EXPORT_METHOD(destroyInstance:(NSString *)instanceId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
986
1017
  {
987
1018
  KeyWordsDetectionWrapper *wrapper = self.instances[instanceId];
@@ -1114,4 +1145,4 @@ RCT_EXPORT_METHOD(setVADParams:(NSString *)instanceId
1114
1145
 
1115
1146
  // You can add more methods here as needed, ensuring they use the instanceId
1116
1147
 
1117
- @end
1148
+ @end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-wakeword",
3
- "version": "1.1.62",
3
+ "version": "1.1.65",
4
4
  "description": "Voice/Wake-word detection library for React Native",
5
5
  "main": "wakewords/index.js",
6
6
  "types": "wakewords/index.d.ts",
@@ -25,6 +25,8 @@ export class KeyWordRNBridgeInstance {
25
25
  getRecordingWavArray(): Promise<any>;
26
26
  getRecordingWav(): Promise<any>;
27
27
  stopKeywordDetection(): Promise<any>;
28
+ pauseDetection(stopMic?: boolean): Promise<any>;
29
+ unPauseDetection(): Promise<any>;
28
30
  destroyInstance(): Promise<any>;
29
31
  onKeywordDetectionEvent(callback: any): import("react-native").EmitterSubscription;
30
32
  removeListeners(): void;
@@ -158,6 +158,14 @@ export class KeyWordRNBridgeInstance {
158
158
  return KeyWordRNBridge.stopKeywordDetection(this.instanceId);
159
159
  }
160
160
 
161
+ async pauseDetection(stopMic = false) {
162
+ return KeyWordRNBridge.pauseDetection(this.instanceId, stopMic);
163
+ }
164
+
165
+ async unPauseDetection() {
166
+ return KeyWordRNBridge.unPauseDetection(this.instanceId);
167
+ }
168
+
161
169
  async destroyInstance() {
162
170
  return KeyWordRNBridge.destroyInstance(this.instanceId);
163
171
  }
@@ -16,7 +16,7 @@ import { onSpeakerVerificationOnboardingDone } from './SpeakerVerificationRNBrid
16
16
  import { onSpeakerVerificationVerifyResult } from './SpeakerVerificationRNBridge';
17
17
  import { onSpeakerVerificationError } from './SpeakerVerificationRNBridge';
18
18
  import useModel from './useModel';
19
- export { enableDucking, disableDucking, initAudioSessAndDuckManage, restartListeningAfterDucking, removeAllRNBridgeListeners, createKeyWordRNBridgeInstance, KeyWordRNBridgeInstance, setWakewordAudioRoutingConfig, createSpeakerVerificationInstance, SpeakerVerificationRNBridgeInstance, createSpeakerVerificationMicController, SpeakerVerificationMicController, onSpeakerVerificationOnboardingProgress, onSpeakerVerificationOnboardingDone, onSpeakerVerificationVerifyResult, onSpeakerVerificationError, useModel };
19
+ export { enableDucking, disableDucking, initAudioSessAndDuckManage, restartListeningAfterDucking, pauseDetection, unPauseDetection, removeAllRNBridgeListeners, createKeyWordRNBridgeInstance, KeyWordRNBridgeInstance, setWakewordAudioRoutingConfig, createSpeakerVerificationInstance, SpeakerVerificationRNBridgeInstance, createSpeakerVerificationMicController, SpeakerVerificationMicController, onSpeakerVerificationOnboardingProgress, onSpeakerVerificationOnboardingDone, onSpeakerVerificationVerifyResult, onSpeakerVerificationError, useModel };
20
20
 
21
21
  // Re-export routing types for consumers:
22
22
  export type { AudioRoutingConfig, RouteConfigEntry } from './audioRoutingConfig';
@@ -9,6 +9,8 @@ import {
9
9
  disableDucking,
10
10
  initAudioSessAndDuckManage,
11
11
  restartListeningAfterDucking,
12
+ pauseDetection,
13
+ unPauseDetection,
12
14
  setWakewordAudioRoutingConfig, // ← NEW
13
15
  } from './KeyWordRNBridge';
14
16
 
@@ -28,6 +30,8 @@ export { enableDucking }
28
30
  export { disableDucking }
29
31
  export { initAudioSessAndDuckManage }
30
32
  export { restartListeningAfterDucking }
33
+ export { pauseDetection }
34
+ export { unPauseDetection }
31
35
  export { removeAllRNBridgeListeners }
32
36
  export { createKeyWordRNBridgeInstance }
33
37
  export { KeyWordRNBridgeInstance }