Интеграция Web Speech API и Electron JS
В общем разрабатываю приложение на Electron JS и мне нужно совместить данный фреймворк с Web Speech API, не доходя даже до реализации логики при простом подключении через html у меня просто не работает он. Вот тестовый код.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
<link rel="stylesheet" href="./styles/main.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter&family=Noto+Sans:ital,wght@0,100;0,400;0,500;1,600&family=Nova+Square&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap" rel="stylesheet">
</head>
<body>
<p id="speech">Empty</p>
<p>Current theme source: <strong id="theme-source">System</strong></p>
<button id="toggle-dark-mode">Switch theme</button>
<button id="learnLang">Click</button>
<script src="./renderer.js"></script>
<script src="./app.js"></script>
<script src="./listener/activate.js"></script>
<script>
let SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.lang = 'ru-Ru'
const button = document.getElementById('learnLang');
button.addEventListener('click', () => {
document.getElementById('speech').innerText = `Default Language: ${recognition.lang}`;
});
</script>
</body>
</html>
Знаю что код абсолютно безсмысленный, но он мне нужен был чтобы просто проверить работает ли (нет). Нашел в интернете что у самих Electron есть своя библиотека похожая на Web Speech API, но данная библиотека не дает все возможности, которые мне нужны. Также где-то нашел что данная проблема решается добавлением webSecurity: false в
const win = new BrowserWindow({
width: 580,
height: 630,
title: 'JarvisAI',
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
webSecurity: false
}
})
В итоге тоже не помогло.