@gamelearn/arcade-components 1.17.2 → 1.18.1
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/dist/components/comic-component/components/ComicComponent.js +28 -18
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +22 -9
- package/dist/components/dialog-component/components/DialogComponent.js +37 -11
- package/dist/helpers/useEkho.js +33 -10
- package/package.json +1 -1
|
@@ -51,29 +51,37 @@ var ComicComponent = function ComicComponent(_ref) {
|
|
|
51
51
|
automatic = _useState2[0],
|
|
52
52
|
setAutomatic = _useState2[1];
|
|
53
53
|
|
|
54
|
+
var _useState3 = (0, _react.useState)(false),
|
|
55
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
56
|
+
audioFailed = _useState4[0],
|
|
57
|
+
setAudioFailed = _useState4[1];
|
|
58
|
+
|
|
54
59
|
var _useTimeout = (0, _useTimeout2.default)(),
|
|
55
60
|
start = _useTimeout.start,
|
|
56
61
|
stop = _useTimeout.stop;
|
|
57
62
|
|
|
58
|
-
var
|
|
59
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
60
|
-
slideCount = _useState4[0],
|
|
61
|
-
setCount = _useState4[1];
|
|
62
|
-
|
|
63
|
-
var _useState5 = (0, _react.useState)('slide-animation'),
|
|
63
|
+
var _useState5 = (0, _react.useState)(0),
|
|
64
64
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
slideCount = _useState6[0],
|
|
66
|
+
setCount = _useState6[1];
|
|
67
|
+
|
|
68
|
+
var _useState7 = (0, _react.useState)('slide-animation'),
|
|
69
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
70
|
+
slideTransition = _useState8[0],
|
|
71
|
+
setTransition = _useState8[1];
|
|
67
72
|
|
|
68
73
|
var _soundActions = _slicedToArray(soundActions, 1),
|
|
69
74
|
play = _soundActions[0];
|
|
70
75
|
|
|
76
|
+
var slide = slides === null || slides === void 0 ? void 0 : slides[slideCount];
|
|
71
77
|
var close = (0, _react.useCallback)(function () {
|
|
72
78
|
emitEvent({
|
|
73
79
|
type: 'success'
|
|
74
80
|
});
|
|
75
81
|
}, [emitEvent]);
|
|
76
82
|
var goToNextSlide = (0, _react.useCallback)(function () {
|
|
83
|
+
setAudioFailed(false);
|
|
84
|
+
|
|
77
85
|
if (slideCount + 1 < slides.length) {
|
|
78
86
|
setTransition('slide-animation');
|
|
79
87
|
setCount(slideCount + 1);
|
|
@@ -82,6 +90,8 @@ var ComicComponent = function ComicComponent(_ref) {
|
|
|
82
90
|
}
|
|
83
91
|
}, [close, slideCount, slides === null || slides === void 0 ? void 0 : slides.length]);
|
|
84
92
|
var goToPreviousSlide = (0, _react.useCallback)(function () {
|
|
93
|
+
setAudioFailed(false);
|
|
94
|
+
|
|
85
95
|
if (slideCount - 1 >= 0) {
|
|
86
96
|
setTransition('slide-animation');
|
|
87
97
|
setCount(slideCount - 1);
|
|
@@ -101,27 +111,27 @@ var ComicComponent = function ComicComponent(_ref) {
|
|
|
101
111
|
goToPreviousSlide();
|
|
102
112
|
};
|
|
103
113
|
|
|
104
|
-
(0, _useEkho.default)({
|
|
114
|
+
var stopEkho = (0, _useEkho.default)({
|
|
105
115
|
audioType: slides === null || slides === void 0 ? void 0 : (_slides$slideCount = slides[slideCount]) === null || _slides$slideCount === void 0 ? void 0 : _slides$slideCount.audioType,
|
|
106
116
|
voice: slides === null || slides === void 0 ? void 0 : (_slides$slideCount2 = slides[slideCount]) === null || _slides$slideCount2 === void 0 ? void 0 : _slides$slideCount2.voice,
|
|
107
117
|
text: slides === null || slides === void 0 ? void 0 : (_slides$slideCount3 = slides[slideCount]) === null || _slides$slideCount3 === void 0 ? void 0 : (_slides$slideCount3$v = _slides$slideCount3.vignettes[0].textData) === null || _slides$slideCount3$v === void 0 ? void 0 : _slides$slideCount3$v.text,
|
|
108
118
|
audio: slides === null || slides === void 0 ? void 0 : (_slides$slideCount4 = slides[slideCount]) === null || _slides$slideCount4 === void 0 ? void 0 : _slides$slideCount4.audio,
|
|
109
119
|
soundActions: soundActions,
|
|
110
120
|
emitEvent: emitEvent,
|
|
121
|
+
onError: function onError() {
|
|
122
|
+
setAudioFailed(true);
|
|
123
|
+
},
|
|
111
124
|
onFinish: function onFinish() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (automatic && (slides === null || slides === void 0 ? void 0 : (_slides$slideCount5 = slides[slideCount]) === null || _slides$slideCount5 === void 0 ? void 0 : _slides$slideCount5.audioType) !== 'none') {
|
|
125
|
+
if (automatic) {
|
|
115
126
|
goToNextSlide();
|
|
116
127
|
}
|
|
117
128
|
}
|
|
118
129
|
});
|
|
119
130
|
(0, _react.useEffect)(function () {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (automatic && ((slide === null || slide === void 0 ? void 0 : slide.audioType) === 'none' || !audio || !voice)) {
|
|
131
|
+
stopEkho();
|
|
132
|
+
}, [slideCount, stopEkho]);
|
|
133
|
+
(0, _react.useEffect)(function () {
|
|
134
|
+
if (automatic && ((slide === null || slide === void 0 ? void 0 : slide.audioType) === 'none' || audioFailed)) {
|
|
125
135
|
var _slide$vignettes$, _slide$vignettes$$tex;
|
|
126
136
|
|
|
127
137
|
var time = characterMs * ((slide === null || slide === void 0 ? void 0 : (_slide$vignettes$ = slide.vignettes[0]) === null || _slide$vignettes$ === void 0 ? void 0 : (_slide$vignettes$$tex = _slide$vignettes$.textData) === null || _slide$vignettes$$tex === void 0 ? void 0 : _slide$vignettes$$tex.text.length) || 0);
|
|
@@ -131,7 +141,7 @@ var ComicComponent = function ComicComponent(_ref) {
|
|
|
131
141
|
return function () {
|
|
132
142
|
stop();
|
|
133
143
|
};
|
|
134
|
-
}, [automatic, goToNextSlide,
|
|
144
|
+
}, [audioFailed, automatic, goToNextSlide, slide === null || slide === void 0 ? void 0 : slide.audioType, slide === null || slide === void 0 ? void 0 : slide.vignettes, start, stop]);
|
|
135
145
|
if (!(slides !== null && slides !== void 0 && slides.length)) return null;
|
|
136
146
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
137
147
|
dir: (0, _LangIsRtl.default)() ? 'rtl' : 'auto',
|
package/dist/components/conversational-pro-component/components/ConversationalProComponent.js
CHANGED
|
@@ -66,10 +66,15 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
66
66
|
automatic = _useState2[0],
|
|
67
67
|
setAutomatic = _useState2[1];
|
|
68
68
|
|
|
69
|
-
var _useState3 = (0, _react.useState)(
|
|
69
|
+
var _useState3 = (0, _react.useState)(false),
|
|
70
70
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
audioFailed = _useState4[0],
|
|
72
|
+
setAudioFailed = _useState4[1];
|
|
73
|
+
|
|
74
|
+
var _useState5 = (0, _react.useState)(0),
|
|
75
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
76
|
+
currentLine = _useState6[0],
|
|
77
|
+
setCurrentLine = _useState6[1];
|
|
73
78
|
|
|
74
79
|
var _soundActions = _slicedToArray(soundActions, 1),
|
|
75
80
|
playSound = _soundActions[0];
|
|
@@ -241,6 +246,8 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
241
246
|
}
|
|
242
247
|
}, [currentLineData.id, edges, finishConversation, lines]);
|
|
243
248
|
var handleClickNext = (0, _react.useCallback)(function (choice, reset) {
|
|
249
|
+
setAudioFailed(false);
|
|
250
|
+
|
|
244
251
|
if (isBranched) {
|
|
245
252
|
if (choice) {
|
|
246
253
|
handleDecisionBranch(choice, reset);
|
|
@@ -260,6 +267,8 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
260
267
|
}, [currentLine, finishConversation, handleBranchDirection, handleDecisionBranch, isBranched, lines.length]);
|
|
261
268
|
|
|
262
269
|
var handleClickBack = function handleClickBack() {
|
|
270
|
+
setAudioFailed(false);
|
|
271
|
+
|
|
263
272
|
if (isBranched) {
|
|
264
273
|
handleBranchDirection(false);
|
|
265
274
|
} else if (currentLine > 0) {
|
|
@@ -280,24 +289,28 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
280
289
|
};
|
|
281
290
|
|
|
282
291
|
var autoplayCond = automatic && !isDecision;
|
|
283
|
-
var
|
|
284
|
-
var voice = (currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) === 'voice' && Object.keys(currentLine.voice || {}).length;
|
|
285
|
-
(0, _useEkho.default)({
|
|
292
|
+
var stopEkho = (0, _useEkho.default)({
|
|
286
293
|
audioType: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType,
|
|
287
294
|
voice: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.voice,
|
|
288
295
|
text: currentMessage === null || currentMessage === void 0 ? void 0 : currentMessage.text,
|
|
289
296
|
audio: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audio,
|
|
290
297
|
soundActions: soundActions,
|
|
291
298
|
emitEvent: emitEvent,
|
|
299
|
+
onError: function onError() {
|
|
300
|
+
setAudioFailed(true);
|
|
301
|
+
},
|
|
292
302
|
onFinish: function onFinish() {
|
|
293
303
|
if (autoplayCond && (currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) !== 'none') {
|
|
294
304
|
handleClickNext();
|
|
295
305
|
}
|
|
296
306
|
}
|
|
297
|
-
});
|
|
307
|
+
});
|
|
308
|
+
(0, _react.useEffect)(function () {
|
|
309
|
+
stopEkho();
|
|
310
|
+
}, [currentLine, stopEkho]); // Autoplay logic
|
|
298
311
|
|
|
299
312
|
(0, _react.useEffect)(function () {
|
|
300
|
-
if (autoplayCond && ((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' ||
|
|
313
|
+
if (autoplayCond && ((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' || audioFailed)) {
|
|
301
314
|
var _currentMessage$text;
|
|
302
315
|
|
|
303
316
|
var time = characterMs * ((currentMessage === null || currentMessage === void 0 ? void 0 : (_currentMessage$text = currentMessage.text) === null || _currentMessage$text === void 0 ? void 0 : _currentMessage$text.length) || 0);
|
|
@@ -307,7 +320,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
307
320
|
return function () {
|
|
308
321
|
stop();
|
|
309
322
|
};
|
|
310
|
-
}, [currentMessage, start, stop, handleClickNext, currentLineData
|
|
323
|
+
}, [currentMessage, start, stop, handleClickNext, currentLineData.audioType, autoplayCond, audioFailed]);
|
|
311
324
|
|
|
312
325
|
var decisionPayload = _objectSpread(_objectSpread({}, currentLineData.payload), {}, {
|
|
313
326
|
required: !isBranched,
|
|
@@ -100,6 +100,11 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
100
100
|
currentMessage = _useState6[0],
|
|
101
101
|
setCurrentMessage = _useState6[1];
|
|
102
102
|
|
|
103
|
+
var _useState7 = (0, _react.useState)(false),
|
|
104
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
105
|
+
audioFailed = _useState8[0],
|
|
106
|
+
setAudioFailed = _useState8[1];
|
|
107
|
+
|
|
103
108
|
var _useThree = (0, _fiber.useThree)(function (state) {
|
|
104
109
|
return [state.camera, state.scene];
|
|
105
110
|
}),
|
|
@@ -219,7 +224,9 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
219
224
|
var finishConversation = (0, _react.useCallback)(function () {
|
|
220
225
|
resetAnims();
|
|
221
226
|
lastSet.current = true;
|
|
222
|
-
setCurrentMessage({
|
|
227
|
+
setCurrentMessage({
|
|
228
|
+
show: false
|
|
229
|
+
});
|
|
223
230
|
resetCameraView();
|
|
224
231
|
setTimeout(function () {
|
|
225
232
|
changeLine(0);
|
|
@@ -244,7 +251,9 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
244
251
|
});
|
|
245
252
|
|
|
246
253
|
if (destination >= 0) {
|
|
247
|
-
setCurrentMessage({
|
|
254
|
+
setCurrentMessage({
|
|
255
|
+
show: false
|
|
256
|
+
});
|
|
248
257
|
changeLine(destination);
|
|
249
258
|
} else {
|
|
250
259
|
finishConversation();
|
|
@@ -252,10 +261,14 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
252
261
|
}
|
|
253
262
|
}, [currentLine.id, edges, finishConversation, lines]);
|
|
254
263
|
var backLine = (0, _react.useCallback)(function () {
|
|
264
|
+
setAudioFailed(false);
|
|
265
|
+
|
|
255
266
|
if (isBranched) {
|
|
256
267
|
handleBranchDirection(false);
|
|
257
268
|
} else if (lastLine && !(lastLine !== null && lastLine !== void 0 && lastLine.decision) || lastLine.type && !lastLine.type !== 'conversationalDecision') {
|
|
258
|
-
setCurrentMessage({
|
|
269
|
+
setCurrentMessage({
|
|
270
|
+
show: false
|
|
271
|
+
});
|
|
259
272
|
changeLine(line - 1);
|
|
260
273
|
}
|
|
261
274
|
}, [handleBranchDirection, isBranched, lastLine, line]);
|
|
@@ -275,7 +288,9 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
275
288
|
if ((currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.fromId) === (currentEdge === null || currentEdge === void 0 ? void 0 : currentEdge.toId)) {
|
|
276
289
|
reset();
|
|
277
290
|
} else {
|
|
278
|
-
setCurrentMessage({
|
|
291
|
+
setCurrentMessage({
|
|
292
|
+
show: false
|
|
293
|
+
});
|
|
279
294
|
changeLine(destinationEdge);
|
|
280
295
|
}
|
|
281
296
|
} else {
|
|
@@ -283,6 +298,8 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
283
298
|
}
|
|
284
299
|
}, [currentLine.id, edges, finishConversation, lines]);
|
|
285
300
|
var nextLine = (0, _react.useCallback)(function (choice, reset) {
|
|
301
|
+
setAudioFailed(false);
|
|
302
|
+
|
|
286
303
|
if (isBranched) {
|
|
287
304
|
if (choice) {
|
|
288
305
|
handleDecisionBranch(choice, reset);
|
|
@@ -290,7 +307,9 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
290
307
|
handleBranchDirection();
|
|
291
308
|
}
|
|
292
309
|
} else if (line < lines.length - 1) {
|
|
293
|
-
setCurrentMessage({
|
|
310
|
+
setCurrentMessage({
|
|
311
|
+
show: false
|
|
312
|
+
});
|
|
294
313
|
changeLine(line + 1);
|
|
295
314
|
} else {
|
|
296
315
|
finishConversation();
|
|
@@ -442,25 +461,32 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
442
461
|
}
|
|
443
462
|
}, [actors, camera, currentLine, zoomInActor, getCurrentVisible, translate, getAvatarURL, loadEmotion, resetCameraView, isDecision, isVoiceOver]);
|
|
444
463
|
var autoPlayCond = automatic && !currentLine.decision;
|
|
445
|
-
var audio =
|
|
446
|
-
var voice =
|
|
464
|
+
var audio = Object.keys(currentLine.audio || {}).length;
|
|
465
|
+
var voice = Object.keys(currentLine.voice || {}).length; // Sound logic
|
|
447
466
|
|
|
448
|
-
(0, _useEkho.default)({
|
|
467
|
+
var stopEkho = (0, _useEkho.default)({
|
|
449
468
|
audioType: currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType,
|
|
450
469
|
voice: currentLine === null || currentLine === void 0 ? void 0 : currentLine.voice,
|
|
470
|
+
started: currentMessage.show,
|
|
451
471
|
text: currentMessage === null || currentMessage === void 0 ? void 0 : currentMessage.text,
|
|
452
472
|
audio: currentLine === null || currentLine === void 0 ? void 0 : currentLine.audio,
|
|
453
473
|
soundActions: soundActions,
|
|
454
474
|
emitEvent: emitEvent,
|
|
475
|
+
onError: function onError() {
|
|
476
|
+
setAudioFailed(true);
|
|
477
|
+
},
|
|
455
478
|
onFinish: function onFinish() {
|
|
456
479
|
if (autoPlayCond) {
|
|
457
480
|
nextLine();
|
|
458
481
|
}
|
|
459
482
|
}
|
|
460
|
-
});
|
|
483
|
+
});
|
|
484
|
+
(0, _react.useEffect)(function () {
|
|
485
|
+
stopEkho();
|
|
486
|
+
}, [line, stopEkho]); // Autoplay logic
|
|
461
487
|
|
|
462
488
|
(0, _react.useEffect)(function () {
|
|
463
|
-
if (autoPlayCond && currentMessage.show && ((currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) === 'none' ||
|
|
489
|
+
if (autoPlayCond && currentMessage.show && ((currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) === 'none' || audioFailed)) {
|
|
464
490
|
var _currentMessage$text;
|
|
465
491
|
|
|
466
492
|
var time = characterMs * ((currentMessage === null || currentMessage === void 0 ? void 0 : (_currentMessage$text = currentMessage.text) === null || _currentMessage$text === void 0 ? void 0 : _currentMessage$text.length) || 0);
|
|
@@ -470,7 +496,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
470
496
|
return function () {
|
|
471
497
|
stop();
|
|
472
498
|
};
|
|
473
|
-
}, [currentMessage, nextLine, start, stop, currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType, autoPlayCond, audio, voice]); // Positioning logic
|
|
499
|
+
}, [currentMessage, nextLine, start, stop, currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType, autoPlayCond, audio, voice, audioFailed]); // Positioning logic
|
|
474
500
|
|
|
475
501
|
var checkBubblePosition = (0, _react.useCallback)(function () {
|
|
476
502
|
if (bubbleRef.current && currentLine.slots) {
|
package/dist/helpers/useEkho.js
CHANGED
|
@@ -33,11 +33,15 @@ var useEkho = function useEkho(_ref) {
|
|
|
33
33
|
audioType = _ref.audioType,
|
|
34
34
|
_ref$loop = _ref.loop,
|
|
35
35
|
loop = _ref$loop === void 0 ? false : _ref$loop,
|
|
36
|
+
_ref$started = _ref.started,
|
|
37
|
+
started = _ref$started === void 0 ? true : _ref$started,
|
|
36
38
|
audio = _ref.audio,
|
|
37
39
|
soundActions = _ref.soundActions,
|
|
38
40
|
emitEvent = _ref.emitEvent,
|
|
39
41
|
_ref$onFinish = _ref.onFinish,
|
|
40
42
|
onFinish = _ref$onFinish === void 0 ? noop : _ref$onFinish,
|
|
43
|
+
_ref$onError = _ref.onError,
|
|
44
|
+
onError = _ref$onError === void 0 ? noop : _ref$onError,
|
|
41
45
|
_ref$onStart = _ref.onStart,
|
|
42
46
|
onStart = _ref$onStart === void 0 ? noop : _ref$onStart;
|
|
43
47
|
|
|
@@ -114,7 +118,7 @@ var useEkho = function useEkho(_ref) {
|
|
|
114
118
|
switch (_context.prev = _context.next) {
|
|
115
119
|
case 0:
|
|
116
120
|
if (!(payload.voiceId && payload.text)) {
|
|
117
|
-
_context.next =
|
|
121
|
+
_context.next = 7;
|
|
118
122
|
break;
|
|
119
123
|
}
|
|
120
124
|
|
|
@@ -126,9 +130,20 @@ var useEkho = function useEkho(_ref) {
|
|
|
126
130
|
|
|
127
131
|
case 3:
|
|
128
132
|
url = _context.sent;
|
|
129
|
-
setCurrentPlaying(url);
|
|
130
133
|
|
|
131
|
-
|
|
134
|
+
if (!url) {
|
|
135
|
+
onError();
|
|
136
|
+
} else {
|
|
137
|
+
setCurrentPlaying(url);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
_context.next = 8;
|
|
141
|
+
break;
|
|
142
|
+
|
|
143
|
+
case 7:
|
|
144
|
+
onError();
|
|
145
|
+
|
|
146
|
+
case 8:
|
|
132
147
|
case "end":
|
|
133
148
|
return _context.stop();
|
|
134
149
|
}
|
|
@@ -139,25 +154,33 @@ var useEkho = function useEkho(_ref) {
|
|
|
139
154
|
return function (_x) {
|
|
140
155
|
return _ref3.apply(this, arguments);
|
|
141
156
|
};
|
|
142
|
-
}(), [emitEvent, setCurrentPlaying]);
|
|
143
|
-
(0, _react.
|
|
144
|
-
if (currentPlaying.current.url
|
|
157
|
+
}(), [emitEvent, onError, setCurrentPlaying]);
|
|
158
|
+
var stopCurrentAudio = (0, _react.useCallback)(function () {
|
|
159
|
+
if (currentPlaying.current.url) {
|
|
145
160
|
stop(currentPlaying.current.cc);
|
|
146
161
|
}
|
|
147
|
-
}, [
|
|
162
|
+
}, [stop]);
|
|
163
|
+
(0, _react.useEffect)(function () {
|
|
164
|
+
if (noAudio) {
|
|
165
|
+
stopCurrentAudio();
|
|
166
|
+
}
|
|
167
|
+
}, [noAudio, stopCurrentAudio]);
|
|
148
168
|
(0, _react.useEffect)(function () {
|
|
149
|
-
if (isMounted) {
|
|
169
|
+
if (isMounted && started) {
|
|
150
170
|
if (audioType === 'voice' && voice !== null && voice !== void 0 && voice.id) {
|
|
151
171
|
var voiceId = getVoice(voice);
|
|
152
172
|
playSpeech({
|
|
153
173
|
voiceId: voiceId,
|
|
154
174
|
text: text
|
|
155
175
|
});
|
|
156
|
-
} else if (audioType === 'file' || !audioType && audio) {
|
|
176
|
+
} else if ((audioType === 'file' || !audioType) && audio) {
|
|
157
177
|
setCurrentPlaying(audio === null || audio === void 0 ? void 0 : audio.url);
|
|
178
|
+
} else {
|
|
179
|
+
onError();
|
|
158
180
|
}
|
|
159
181
|
}
|
|
160
|
-
}, [getVoice, playSpeech, isMounted, voice, text, audioType, audio === null || audio === void 0 ? void 0 : audio.url, audio, setCurrentPlaying]);
|
|
182
|
+
}, [getVoice, playSpeech, isMounted, voice, text, audioType, audio === null || audio === void 0 ? void 0 : audio.url, audio, setCurrentPlaying, onError, started]);
|
|
183
|
+
return stopCurrentAudio;
|
|
161
184
|
};
|
|
162
185
|
|
|
163
186
|
var _default = useEkho;
|