@@ -200,8 +200,8 @@ const tts = {
200200 return new Promise ( ( resolve , reject ) => {
201201 platformVoices = this . _getPlatformVoices ( ) || [ ] ;
202202 const allVoices = platformVoices
203- . concat ( cloudVoices )
204- . concat ( elevenLabsVoices ) ;
203+ . concat ( elevenLabsVoices )
204+ . concat ( cloudVoices ) ;
205205
206206 if ( platformVoices . length ) {
207207 resolve ( allVoices ) ;
@@ -211,21 +211,20 @@ const tts = {
211211 if ( 'onvoiceschanged' in synth ) {
212212 synth . addEventListener ( 'voiceschanged' , function voiceslst ( ) {
213213 const voices = synth . getVoices ( ) ;
214- if ( ! voices . length ) {
214+ synth . removeEventListener ( 'voiceschanged' , voiceslst ) ;
215+
216+ if ( ! voices || voices . length === 0 ) {
217+ resolve ( elevenLabsVoices . concat ( cloudVoices ) ) ;
215218 return null ;
216- } else {
217- synth . removeEventListener ( 'voiceschanged' , voiceslst ) ;
218- // On Cordova, voice results are under `._list`
219- platformVoices = voices . _list || voices ;
220- resolve (
221- platformVoices . concat ( cloudVoices ) . concat ( elevenLabsVoices )
222- ) ;
223219 }
220+
221+ platformVoices = voices . _list || voices ;
222+ resolve ( platformVoices . concat ( elevenLabsVoices ) . concat ( cloudVoices ) ) ;
224223 } ) ;
225224 } else if ( isCordova ( ) ) {
226225 // Samsung devices on Cordova
227226 platformVoices = this . _getPlatformVoices ( ) ;
228- resolve ( platformVoices . concat ( cloudVoices ) . concat ( elevenLabsVoices ) ) ;
227+ resolve ( platformVoices . concat ( elevenLabsVoices ) . concat ( cloudVoices ) ) ;
229228 }
230229 } ) ;
231230 } ,
0 commit comments