Fix getVoices()
This commit is contained in:
		
							
								
								
									
										21
									
								
								index.js
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								index.js
									
									
									
									
									
								
							@@ -131,15 +131,28 @@ const getStorage = async () => {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const getVoices = () => {
 | 
			
		||||
const getVoices = async () => {
 | 
			
		||||
    try {
 | 
			
		||||
        if (!window.speechSynthesis) return null;
 | 
			
		||||
        return window.speechSynthesis.getVoices().map((v) => ({
 | 
			
		||||
 | 
			
		||||
        const mapVoice = (v) => ({
 | 
			
		||||
            name: v.name,
 | 
			
		||||
            lang: v.lang,
 | 
			
		||||
            local: v.localService,
 | 
			
		||||
            default: v.default,
 | 
			
		||||
        }));
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        const voices = window.speechSynthesis.getVoices();
 | 
			
		||||
        if (voices.length > 0) {
 | 
			
		||||
            return voices.map((v) => mapVoice(v));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return await new Promise((resolve) => {
 | 
			
		||||
            window.speechSynthesis.onvoiceschanged = () => {
 | 
			
		||||
                const list = window.speechSynthesis.getVoices();
 | 
			
		||||
                resolve(list.map((v) => mapVoice(v)));
 | 
			
		||||
            };
 | 
			
		||||
        });
 | 
			
		||||
    } catch {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
@@ -267,7 +280,7 @@ export const get = async () => {
 | 
			
		||||
        mimes: [...(navigator.mimeTypes ?? [])].map(({ type, suffixes }) => ({ type, suffixes })),
 | 
			
		||||
 | 
			
		||||
        // Voices
 | 
			
		||||
        voices: getVoices(),
 | 
			
		||||
        voices: await getVoices(),
 | 
			
		||||
 | 
			
		||||
        // Network
 | 
			
		||||
        network: getNetwork(),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user