Offer speech retry after iOS playback errors
Build and publish frontend / publish (push) Successful in 43s
Build and publish frontend / publish (push) Successful in 43s
This commit is contained in:
@@ -240,7 +240,7 @@
|
||||
currentUtterance = null;
|
||||
setState('IDLE');
|
||||
};
|
||||
utterance.onerror = () => {
|
||||
utterance.onerror = event => {
|
||||
if (token !== generation) return;
|
||||
if (speechTimer !== null) win.clearTimeout(speechTimer);
|
||||
if (speechStartTimer !== null) win.clearTimeout(speechStartTimer);
|
||||
@@ -248,7 +248,11 @@
|
||||
speechStartTimer = null;
|
||||
currentUtterance = null;
|
||||
generation += 1;
|
||||
setState('IDLE', 'Uppläsningen avbröts. Dialogen finns kvar som text.');
|
||||
const blocked = event?.error === 'not-allowed' || event?.error === 'service-not-allowed';
|
||||
const message = blocked
|
||||
? 'Safari blockerade uppläsningen. Tryck på Läs senaste repliken för att starta ljudet.'
|
||||
: 'Uppläsningen avbröts. Tryck på Läs senaste repliken för att försöka igen. Dialogen finns kvar som text.';
|
||||
setState('IDLE', message);
|
||||
};
|
||||
setState('SPEAKING', 'Läser upp dialog.');
|
||||
currentUtterance = utterance;
|
||||
|
||||
Reference in New Issue
Block a user