react-native-srschat 0.1.60 → 0.1.61
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.
- package/lib/commonjs/components/voice.js +14 -17
- package/lib/commonjs/components/voice.js.map +1 -1
- package/lib/commonjs/utils/audioRecorder.js +182 -244
- package/lib/commonjs/utils/audioRecorder.js.map +1 -1
- package/lib/module/components/voice.js +14 -17
- package/lib/module/components/voice.js.map +1 -1
- package/lib/module/utils/audioRecorder.js +181 -243
- package/lib/module/utils/audioRecorder.js.map +1 -1
- package/lib/typescript/components/voice.d.ts.map +1 -1
- package/lib/typescript/utils/audioRecorder.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/voice.js +16 -17
- package/src/utils/audioRecorder.js +187 -264
|
@@ -3,15 +3,18 @@
|
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
4
|
import Voice from '@react-native-voice/voice';
|
|
5
5
|
import { check, PERMISSIONS, request, RESULTS } from 'react-native-permissions';
|
|
6
|
-
import useAsyncStorage from '../hooks/useAsyncStorage';
|
|
7
6
|
let resultCallback = null;
|
|
8
7
|
let partialResultCallback = null;
|
|
9
8
|
let silenceTimer = null;
|
|
10
|
-
let isCurrentlyRecording = false;
|
|
11
9
|
let finalResult = '';
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
10
|
+
const SILENCE_DURATION = 1500;
|
|
11
|
+
const State = {
|
|
12
|
+
IDLE: 'IDLE',
|
|
13
|
+
LISTENING: 'LISTENING',
|
|
14
|
+
FINALIZING: 'FINALIZING'
|
|
15
|
+
};
|
|
16
|
+
let state = State.IDLE;
|
|
17
|
+
let listenersBound = false;
|
|
15
18
|
|
|
16
19
|
// Add this constant for AsyncStorage key
|
|
17
20
|
const PERMISSION_STORAGE_KEY = '@voice_permission_status';
|
|
@@ -25,12 +28,13 @@ export function setPermissionStatusHandlers(getter, setter) {
|
|
|
25
28
|
permissionStatusSetter = setter;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
|
-
// Initialize Voice handlers
|
|
31
|
+
// Initialize Voice handlers - modified to support live transcription
|
|
29
32
|
export async function initVoice(onResult, onPartialResult = null) {
|
|
30
33
|
try {
|
|
31
34
|
resultCallback = onResult;
|
|
32
|
-
partialResultCallback = onPartialResult;
|
|
35
|
+
partialResultCallback = onPartialResult; // Store partial callback
|
|
33
36
|
finalResult = '';
|
|
37
|
+
if (listenersBound) return true;
|
|
34
38
|
|
|
35
39
|
// Check if Voice module is available
|
|
36
40
|
if (!Voice) {
|
|
@@ -44,114 +48,103 @@ export async function initVoice(onResult, onPartialResult = null) {
|
|
|
44
48
|
console.error('Speech recognition is not available on this device');
|
|
45
49
|
return false;
|
|
46
50
|
}
|
|
47
|
-
|
|
48
|
-
// Check if another recognition session is active
|
|
49
|
-
try {
|
|
50
|
-
const isRecognizing = await Voice.isRecognizing();
|
|
51
|
-
if (isRecognizing) {
|
|
52
|
-
console.log('Another recognition session is active, cleaning up...');
|
|
53
|
-
await Voice.destroy();
|
|
54
|
-
await new Promise(resolve => setTimeout(resolve, 300));
|
|
55
|
-
}
|
|
56
|
-
} catch (e) {
|
|
57
|
-
// Ignore errors checking recognition state
|
|
58
|
-
}
|
|
51
|
+
Voice.removeAllListeners();
|
|
59
52
|
|
|
60
53
|
// Set up all event listeners
|
|
61
|
-
Voice.onSpeechStart =
|
|
62
|
-
console.log('onSpeechStart
|
|
63
|
-
|
|
54
|
+
Voice.onSpeechStart = () => {
|
|
55
|
+
console.log('[onSpeechStart] Setting state to LISTENING');
|
|
56
|
+
state = State.LISTENING;
|
|
64
57
|
finalResult = '';
|
|
65
|
-
|
|
66
|
-
clearTimeout(silenceTimer);
|
|
67
|
-
silenceTimer = null;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// Start initial silence detection
|
|
71
|
-
handleSilenceDetection();
|
|
58
|
+
clearSilenceTimer();
|
|
72
59
|
};
|
|
73
|
-
Voice.onSpeechRecognized = e => {
|
|
74
|
-
console.log('onSpeechRecognized: ', e);
|
|
75
|
-
if (e.isFinal) {
|
|
76
|
-
console.log('Speech recognition final');
|
|
77
|
-
handleFinalResult();
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
Voice.onSpeechEnd = async e => {
|
|
81
|
-
console.log('onSpeechEnd: ', e);
|
|
82
|
-
if (silenceTimer) {
|
|
83
|
-
clearTimeout(silenceTimer);
|
|
84
|
-
silenceTimer = null;
|
|
85
|
-
}
|
|
86
60
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
61
|
+
// Optional: ignore onSpeechRecognized or just log
|
|
62
|
+
Voice.onSpeechRecognized = () => {};
|
|
63
|
+
Voice.onSpeechEnd = () => {
|
|
64
|
+
console.log('[onSpeechEnd] Speech ended, current state:', state);
|
|
65
|
+
clearSilenceTimer();
|
|
66
|
+
// Always reset to IDLE when speech ends (sessions should be considered over)
|
|
67
|
+
console.log('[onSpeechEnd] Scheduling IDLE reset');
|
|
68
|
+
if (Platform.OS === 'android') {
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
console.log('[onSpeechEnd] Android timeout - setting state to IDLE');
|
|
71
|
+
state = State.IDLE;
|
|
72
|
+
}, 800); // Increased delay
|
|
73
|
+
} else {
|
|
74
|
+
console.log('[onSpeechEnd] iOS - setting state to IDLE immediately');
|
|
75
|
+
state = State.IDLE;
|
|
96
76
|
}
|
|
97
77
|
};
|
|
98
|
-
Voice.onSpeechError =
|
|
99
|
-
var _e$error, _e$error2
|
|
100
|
-
console.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// Check for specific error types
|
|
107
|
-
const isNoSpeechError = ((_e$error = e.error) === null || _e$error === void 0 ? void 0 : _e$error.code) === "recognition_fail" && ((_e$error2 = e.error) === null || _e$error2 === void 0 || (_e$error2 = _e$error2.message) === null || _e$error2 === void 0 ? void 0 : _e$error2.includes("No speech detected"));
|
|
78
|
+
Voice.onSpeechError = e => {
|
|
79
|
+
var _e$error, _e$error2;
|
|
80
|
+
console.log('[onSpeechError] Error occurred, current state:', state, 'error:', e);
|
|
81
|
+
clearSilenceTimer();
|
|
82
|
+
const code = (_e$error = e.error) === null || _e$error === void 0 || (_e$error = _e$error.code) === null || _e$error === void 0 ? void 0 : _e$error.toString();
|
|
83
|
+
const msg = ((_e$error2 = e.error) === null || _e$error2 === void 0 ? void 0 : _e$error2.message) || '';
|
|
108
84
|
|
|
109
|
-
//
|
|
110
|
-
|
|
111
|
-
|
|
85
|
+
// Handle callback first
|
|
86
|
+
if (Platform.OS === 'android' && (code === '7' || code === '5')) {
|
|
87
|
+
if (finalResult && resultCallback) resultCallback(finalResult, null);else if (resultCallback) resultCallback(null, null);
|
|
88
|
+
} else if (!msg.includes('No speech detected') && resultCallback) {
|
|
89
|
+
resultCallback(null, msg);
|
|
90
|
+
} else if (resultCallback) {
|
|
91
|
+
resultCallback(null, null);
|
|
92
|
+
}
|
|
112
93
|
|
|
113
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
94
|
+
// Errors end the session immediately, reset to IDLE with delay
|
|
95
|
+
console.log('[onSpeechError] Scheduling IDLE reset');
|
|
96
|
+
if (Platform.OS === 'android') {
|
|
97
|
+
setTimeout(() => {
|
|
98
|
+
console.log('[onSpeechError] Android timeout - setting state to IDLE');
|
|
99
|
+
state = State.IDLE;
|
|
100
|
+
}, 800); // Increased delay to match onSpeechEnd
|
|
101
|
+
} else {
|
|
102
|
+
console.log('[onSpeechError] iOS - setting state to IDLE immediately');
|
|
103
|
+
state = State.IDLE;
|
|
123
104
|
}
|
|
124
105
|
};
|
|
125
106
|
Voice.onSpeechResults = e => {
|
|
126
|
-
console.log('onSpeechResults: ', e);
|
|
107
|
+
console.log('[onSpeechResults] Results received, current state:', state, 'results:', e);
|
|
108
|
+
clearSilenceTimer();
|
|
127
109
|
if (e.value && e.value.length > 0) {
|
|
128
110
|
finalResult = e.value[0];
|
|
129
|
-
|
|
130
|
-
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Only call callback if we haven't already (avoid double-calling)
|
|
114
|
+
if (state === State.LISTENING && resultCallback) {
|
|
115
|
+
console.log('[onSpeechResults] Calling callback with results');
|
|
116
|
+
resultCallback(finalResult, null);
|
|
117
|
+
} else {
|
|
118
|
+
console.log('[onSpeechResults] Not calling callback - state:', state);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// On Android, we must explicitly stop to avoid session corruption
|
|
122
|
+
if (Platform.OS === 'android') {
|
|
123
|
+
console.log('[onSpeechResults] Android: Explicitly calling stopRecording()');
|
|
124
|
+
stopRecording();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Results end the session, reset to IDLE with delay
|
|
128
|
+
console.log('[onSpeechResults] Scheduling IDLE reset');
|
|
129
|
+
if (Platform.OS === 'android') {
|
|
130
|
+
setTimeout(() => {
|
|
131
|
+
console.log('[onSpeechResults] Android timeout - setting state to IDLE');
|
|
132
|
+
state = State.IDLE;
|
|
133
|
+
}, 800); // Increased delay
|
|
134
|
+
} else {
|
|
135
|
+
console.log('[onSpeechResults] iOS - setting state to IDLE immediately');
|
|
136
|
+
state = State.IDLE;
|
|
131
137
|
}
|
|
132
138
|
};
|
|
133
139
|
Voice.onSpeechPartialResults = e => {
|
|
134
|
-
console.log('onSpeechPartialResults: ', e);
|
|
135
|
-
if (silenceTimer) {
|
|
136
|
-
clearTimeout(silenceTimer);
|
|
137
|
-
}
|
|
138
140
|
if (e.value && e.value.length > 0) {
|
|
139
141
|
finalResult = e.value[0];
|
|
140
|
-
|
|
141
|
-
// Throttle partial results to prevent overwhelming the UI and speech service
|
|
142
|
-
const now = Date.now();
|
|
143
|
-
if (partialResultCallback && now - lastPartialResultTime > PARTIAL_RESULT_THROTTLE) {
|
|
144
|
-
partialResultCallback(e.value[0]);
|
|
145
|
-
lastPartialResultTime = now;
|
|
146
|
-
}
|
|
142
|
+
if (partialResultCallback) partialResultCallback(finalResult);
|
|
147
143
|
handleSilenceDetection();
|
|
148
144
|
}
|
|
149
145
|
};
|
|
150
|
-
if (Platform.OS === 'android') {
|
|
151
|
-
|
|
152
|
-
console.log('onSpeechVolumeChanged: ', e);
|
|
153
|
-
};
|
|
154
|
-
}
|
|
146
|
+
if (Platform.OS === 'android') Voice.onSpeechVolumeChanged = () => {};
|
|
147
|
+
listenersBound = true;
|
|
155
148
|
return true;
|
|
156
149
|
} catch (error) {
|
|
157
150
|
console.error('Error initializing Voice:', error);
|
|
@@ -163,191 +156,144 @@ const handleSilenceDetection = () => {
|
|
|
163
156
|
clearTimeout(silenceTimer);
|
|
164
157
|
}
|
|
165
158
|
silenceTimer = setTimeout(async () => {
|
|
166
|
-
|
|
167
|
-
if (isCurrentlyRecording && finalResult) {
|
|
159
|
+
if (state === State.LISTENING) {
|
|
168
160
|
await handleFinalResult();
|
|
169
161
|
}
|
|
170
162
|
}, SILENCE_DURATION);
|
|
171
163
|
};
|
|
172
164
|
const handleFinalResult = async () => {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
// Clear silence timer first
|
|
179
|
-
if (silenceTimer) {
|
|
180
|
-
clearTimeout(silenceTimer);
|
|
181
|
-
silenceTimer = null;
|
|
165
|
+
console.log('[handleFinalResult] Called, current state:', state);
|
|
166
|
+
if (state !== State.LISTENING) {
|
|
167
|
+
console.log('[handleFinalResult] State not LISTENING, returning');
|
|
168
|
+
return;
|
|
182
169
|
}
|
|
183
170
|
|
|
184
|
-
//
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
171
|
+
// Set to FINALIZING first to prevent double callbacks
|
|
172
|
+
console.log('[handleFinalResult] Setting state to FINALIZING');
|
|
173
|
+
state = State.FINALIZING;
|
|
188
174
|
|
|
189
|
-
//
|
|
190
|
-
if (
|
|
191
|
-
|
|
175
|
+
// Call the callback with results
|
|
176
|
+
if (finalResult && resultCallback) {
|
|
177
|
+
console.log('[handleFinalResult] Calling callback with result:', finalResult);
|
|
178
|
+
resultCallback(finalResult, null);
|
|
192
179
|
}
|
|
193
180
|
|
|
194
|
-
//
|
|
181
|
+
// Now stop recording (this will call Voice.stop())
|
|
182
|
+
console.log('[handleFinalResult] Calling stopRecording');
|
|
195
183
|
await stopRecording();
|
|
196
184
|
};
|
|
197
|
-
const cleanupVoiceSession =
|
|
198
|
-
|
|
185
|
+
const cleanupVoiceSession = () => {
|
|
186
|
+
console.log('[cleanupVoiceSession] Called, current state:', state);
|
|
187
|
+
finalResult = '';
|
|
188
|
+
clearSilenceTimer();
|
|
189
|
+
|
|
190
|
+
// Add delay before allowing next session on Android
|
|
191
|
+
if (Platform.OS === 'android') {
|
|
192
|
+
setTimeout(() => {
|
|
193
|
+
console.log('[cleanupVoiceSession] Android timeout - setting state to IDLE');
|
|
194
|
+
state = State.IDLE;
|
|
195
|
+
}, 800);
|
|
196
|
+
} else {
|
|
197
|
+
console.log('[cleanupVoiceSession] iOS - setting state to IDLE immediately');
|
|
198
|
+
state = State.IDLE;
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
const clearSilenceTimer = () => {
|
|
199
202
|
if (silenceTimer) {
|
|
200
203
|
clearTimeout(silenceTimer);
|
|
201
204
|
silenceTimer = null;
|
|
202
205
|
}
|
|
206
|
+
};
|
|
207
|
+
export async function startRecording() {
|
|
203
208
|
try {
|
|
204
|
-
|
|
205
|
-
if (!Voice) {
|
|
206
|
-
console.log('Voice module not available during cleanup');
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
+
console.log('[startRecording] Called, current state:', state);
|
|
209
210
|
|
|
210
|
-
//
|
|
211
|
-
|
|
212
|
-
if (isRecognizing) {
|
|
211
|
+
// On Android, destroy any lingering instance before starting
|
|
212
|
+
if (Platform.OS === 'android') {
|
|
213
213
|
try {
|
|
214
|
-
|
|
215
|
-
await new Promise(resolve => setTimeout(resolve, 100));
|
|
216
|
-
} catch (e) {
|
|
217
|
-
console.error('Error stopping in cleanup:', e);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
// Then force destroy
|
|
222
|
-
await Voice.destroy();
|
|
223
|
-
await new Promise(resolve => setTimeout(resolve, 300));
|
|
224
|
-
|
|
225
|
-
// Double check and force destroy again if needed
|
|
226
|
-
const stillRecognizing = await Voice.isRecognizing();
|
|
227
|
-
if (stillRecognizing) {
|
|
228
|
-
await Voice.destroy();
|
|
229
|
-
await new Promise(resolve => setTimeout(resolve, 300));
|
|
230
|
-
}
|
|
231
|
-
} catch (error) {
|
|
232
|
-
console.error('Error in cleanupVoiceSession:', error);
|
|
233
|
-
// Final attempt to destroy on error
|
|
234
|
-
try {
|
|
235
|
-
if (Voice) {
|
|
214
|
+
console.log('[startRecording] Android: Proactively destroying Voice instance');
|
|
236
215
|
await Voice.destroy();
|
|
216
|
+
await new Promise(r => setTimeout(r, 100)); // Short delay for destroy to complete
|
|
217
|
+
} catch (e) {
|
|
218
|
+
console.log('[startRecording] Proactive destroy failed, may be okay:', e);
|
|
237
219
|
}
|
|
238
|
-
} catch (e) {
|
|
239
|
-
console.error('Final destroy attempt failed:', e);
|
|
240
220
|
}
|
|
241
|
-
}
|
|
242
|
-
finalResult = '';
|
|
243
|
-
};
|
|
244
|
-
export async function startRecording() {
|
|
245
|
-
try {
|
|
246
|
-
// Check if Voice module is available
|
|
247
221
|
if (!Voice) {
|
|
248
|
-
console.
|
|
222
|
+
console.log('[startRecording] Voice not available');
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
if (state !== State.IDLE) {
|
|
226
|
+
console.log('[startRecording] State not IDLE, returning false');
|
|
249
227
|
return false;
|
|
250
228
|
}
|
|
251
|
-
|
|
252
|
-
// Ensure cleanup of any existing session
|
|
253
|
-
await cleanupVoiceSession();
|
|
254
229
|
const hasPermission = await requestAudioPermission();
|
|
255
230
|
if (!hasPermission) {
|
|
256
231
|
console.error('No permission to record audio');
|
|
257
232
|
return false;
|
|
258
233
|
}
|
|
234
|
+
const recognizing = await Voice.isRecognizing();
|
|
235
|
+
console.log('[startRecording] Voice.isRecognizing():', recognizing);
|
|
236
|
+
if (recognizing) {
|
|
237
|
+
console.log('[startRecording] Already recognizing, canceling first');
|
|
238
|
+
await Voice.cancel();
|
|
239
|
+
// Wait longer for cancel to take effect
|
|
240
|
+
await new Promise(r => setTimeout(r, 500));
|
|
259
241
|
|
|
260
|
-
|
|
261
|
-
|
|
242
|
+
// Double-check if still recognizing after cancel
|
|
243
|
+
const stillRecognizing = await Voice.isRecognizing();
|
|
244
|
+
console.log('[startRecording] After cancel, still recognizing:', stillRecognizing);
|
|
245
|
+
if (stillRecognizing) {
|
|
246
|
+
console.log('[startRecording] Still recognizing after cancel, stopping');
|
|
247
|
+
try {
|
|
248
|
+
await Voice.stop();
|
|
249
|
+
await new Promise(r => setTimeout(r, 300));
|
|
250
|
+
} catch (e) {
|
|
251
|
+
console.log('[startRecording] Error stopping:', e);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
console.log('[startRecording] Calling Voice.start()');
|
|
262
256
|
await Voice.start('en-US');
|
|
263
|
-
|
|
257
|
+
console.log('[startRecording] Voice.start() completed, setting state to LISTENING');
|
|
258
|
+
state = State.LISTENING;
|
|
264
259
|
return true;
|
|
265
260
|
} catch (error) {
|
|
266
261
|
console.error('Error starting voice recognition:', error);
|
|
267
|
-
|
|
262
|
+
cleanupVoiceSession();
|
|
268
263
|
return false;
|
|
269
264
|
}
|
|
270
265
|
}
|
|
271
266
|
export async function stopRecording() {
|
|
272
267
|
try {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
// Still try to clean up any lingering session
|
|
278
|
-
try {
|
|
279
|
-
const isRecognizing = await Voice.isRecognizing();
|
|
280
|
-
if (isRecognizing) {
|
|
281
|
-
await Voice.stop();
|
|
282
|
-
}
|
|
283
|
-
} catch (e) {
|
|
284
|
-
// Ignore errors checking recognition state
|
|
285
|
-
}
|
|
268
|
+
console.log('[stopRecording] Called, current state:', state);
|
|
269
|
+
// Can be called from LISTENING or FINALIZING state
|
|
270
|
+
if (state !== State.LISTENING && state !== State.FINALIZING || !Voice) {
|
|
271
|
+
console.log('[stopRecording] Invalid state or no Voice, returning');
|
|
286
272
|
return;
|
|
287
273
|
}
|
|
288
274
|
|
|
289
|
-
//
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
silenceTimer = null;
|
|
275
|
+
// Only set to FINALIZING if not already there
|
|
276
|
+
if (state === State.LISTENING) {
|
|
277
|
+
console.log('[stopRecording] Setting state to FINALIZING');
|
|
278
|
+
state = State.FINALIZING;
|
|
294
279
|
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
// First cancel any ongoing recognition
|
|
300
|
-
await Voice.cancel();
|
|
301
|
-
await new Promise(resolve => setTimeout(resolve, 50));
|
|
302
|
-
} catch (error) {
|
|
303
|
-
// Ignore cancel errors
|
|
304
|
-
}
|
|
305
|
-
try {
|
|
306
|
-
// Then stop
|
|
307
|
-
await Voice.stop();
|
|
308
|
-
await new Promise(resolve => setTimeout(resolve, 100));
|
|
309
|
-
} catch (error) {
|
|
310
|
-
console.log('Error stopping Voice (expected on iOS):', error);
|
|
311
|
-
}
|
|
312
|
-
try {
|
|
313
|
-
// Finally destroy
|
|
314
|
-
await Voice.destroy();
|
|
315
|
-
await new Promise(resolve => setTimeout(resolve, 200));
|
|
316
|
-
} catch (error) {
|
|
317
|
-
console.log('Error destroying Voice (expected on iOS):', error);
|
|
318
|
-
}
|
|
319
|
-
} else {
|
|
320
|
-
// Android can handle the normal sequence
|
|
321
|
-
try {
|
|
322
|
-
await Voice.stop();
|
|
323
|
-
await new Promise(resolve => setTimeout(resolve, 100));
|
|
324
|
-
} catch (error) {
|
|
325
|
-
console.error('Error stopping Voice:', error);
|
|
326
|
-
}
|
|
327
|
-
try {
|
|
328
|
-
await Voice.destroy();
|
|
329
|
-
await new Promise(resolve => setTimeout(resolve, 300));
|
|
330
|
-
} catch (error) {
|
|
331
|
-
console.error('Error destroying Voice:', error);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
// Final cleanup
|
|
336
|
-
await cleanupVoiceSession();
|
|
280
|
+
clearSilenceTimer();
|
|
281
|
+
console.log('[stopRecording] Calling Voice.stop()');
|
|
282
|
+
await Voice.stop();
|
|
283
|
+
console.log('[stopRecording] Voice.stop() completed');
|
|
337
284
|
} catch (error) {
|
|
338
285
|
console.error('Error in stopRecording:', error);
|
|
339
|
-
|
|
340
|
-
await cleanupVoiceSession();
|
|
286
|
+
cleanupVoiceSession();
|
|
341
287
|
}
|
|
342
288
|
}
|
|
343
289
|
export async function cancelRecording() {
|
|
344
290
|
try {
|
|
345
291
|
if (!Voice) return;
|
|
346
292
|
await Voice.cancel();
|
|
347
|
-
|
|
293
|
+
cleanupVoiceSession();
|
|
348
294
|
} catch (error) {
|
|
349
295
|
console.error('Error canceling voice recognition:', error);
|
|
350
|
-
|
|
296
|
+
cleanupVoiceSession();
|
|
351
297
|
}
|
|
352
298
|
}
|
|
353
299
|
export async function requestAudioPermission() {
|
|
@@ -384,11 +330,16 @@ async function requestAndroidPermission() {
|
|
|
384
330
|
return false;
|
|
385
331
|
}
|
|
386
332
|
|
|
387
|
-
//
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
333
|
+
// Check speech recognition services
|
|
334
|
+
try {
|
|
335
|
+
const services = await Voice.getSpeechRecognitionServices();
|
|
336
|
+
if (!services || services.length === 0) {
|
|
337
|
+
console.error('No speech recognition services available');
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
} catch (e) {
|
|
341
|
+
console.log('Error checking speech services:', e);
|
|
342
|
+
// Continue anyway - some devices report error but work fine
|
|
392
343
|
}
|
|
393
344
|
return true;
|
|
394
345
|
} catch (error) {
|
|
@@ -425,19 +376,6 @@ export function resetStoredPermission() {
|
|
|
425
376
|
return false;
|
|
426
377
|
}
|
|
427
378
|
export function cleanup() {
|
|
428
|
-
|
|
429
|
-
console.log('Voice module not available during cleanup');
|
|
430
|
-
return;
|
|
431
|
-
}
|
|
432
|
-
Voice.destroy().then(() => {
|
|
433
|
-
Voice.removeAllListeners();
|
|
434
|
-
cleanupVoiceSession();
|
|
435
|
-
}).catch(error => {
|
|
436
|
-
console.error('Error in cleanup:', error);
|
|
437
|
-
// Try one more time
|
|
438
|
-
if (Voice) {
|
|
439
|
-
Voice.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
|
|
440
|
-
}
|
|
441
|
-
});
|
|
379
|
+
cleanupVoiceSession();
|
|
442
380
|
}
|
|
443
381
|
//# sourceMappingURL=audioRecorder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","Voice","check","PERMISSIONS","request","RESULTS","useAsyncStorage","resultCallback","partialResultCallback","silenceTimer","isCurrentlyRecording","finalResult","lastPartialResultTime","SILENCE_DURATION","PARTIAL_RESULT_THROTTLE","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","onPartialResult","console","error","isAvailable","isRecognizing","log","destroy","Promise","resolve","setTimeout","e","onSpeechStart","clearTimeout","handleSilenceDetection","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","OS","onSpeechError","_e$error","_e$error2","_e$error3","_e$error4","isNoSpeechError","code","message","includes","isTransientIOSError","cleanupVoiceSession","_e$error5","onSpeechResults","value","length","onSpeechPartialResults","now","Date","onSpeechVolumeChanged","stopRecording","stop","stillRecognizing","startRecording","hasPermission","requestAudioPermission","start","cancel","cancelRecording","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","micPermission","ANDROID","RECORD_AUDIO","GRANTED","services","getSpeechRecognitionServices","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup","then","removeAllListeners","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","Voice","check","PERMISSIONS","request","RESULTS","resultCallback","partialResultCallback","silenceTimer","finalResult","SILENCE_DURATION","State","IDLE","LISTENING","FINALIZING","state","listenersBound","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","onPartialResult","console","error","isAvailable","removeAllListeners","onSpeechStart","log","clearSilenceTimer","onSpeechRecognized","onSpeechEnd","OS","setTimeout","onSpeechError","e","_e$error","_e$error2","code","toString","msg","message","includes","onSpeechResults","value","length","stopRecording","onSpeechPartialResults","handleSilenceDetection","onSpeechVolumeChanged","clearTimeout","handleFinalResult","cleanupVoiceSession","startRecording","destroy","Promise","r","hasPermission","requestAudioPermission","recognizing","isRecognizing","cancel","stillRecognizing","stop","start","cancelRecording","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","micPermission","ANDROID","RECORD_AUDIO","GRANTED","services","getSpeechRecognitionServices","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../../src/components/voice.js"],"names":[],"mappings":"AAqBO;;
|
|
1
|
+
{"version":3,"file":"voice.d.ts","sourceRoot":"","sources":["../../../src/components/voice.js"],"names":[],"mappings":"AAqBO;;sBAuLN;kBA1MsD,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audioRecorder.d.ts","sourceRoot":"","sources":["../../../src/utils/audioRecorder.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audioRecorder.d.ts","sourceRoot":"","sources":["../../../src/utils/audioRecorder.js"],"names":[],"mappings":"AAyBA,4EAGC;AAGD,mFAiIC;AA4DD,mDA8DC;AAED,+CAuBC;AAED,iDASC;AAED,2DA2BC;AAqDD,iDAMC;AAED,gCAEC"}
|