В этом руководстве предполагается, что вы имеете базовое представление о расширениях Chrome и связанных с ними файлах конфигурации. Если нет, то вы можете обратиться к этой статье, в которой настраиваются файлы для этого руководства.
Настройка разрешений на запись с микрофона в расширении Chrome - это серая область. Официально документированного способа сделать это не существует, и разработчики вынуждены использовать «взлом», чтобы получить разрешения микрофона для своего расширения Chrome.
В этой короткой статье мы используем страницу options.html
для получения разрешений микрофона и используем популярную annyang.js
библиотеку для обнаружения речи пользователя.
1. Создание сценария и страницы триггера разрешений.
Чтобы обойти ограничения Chrome, мы используем веб-страницу из нашего расширения, например options.html
иpopup.html
, чтобы получить разрешения микрофона для всего расширения.
Во-первых, нам нужно создать файл JavaScript, чтобы получить разрешения микрофона на веб-странице. Я создал минимальный файл, который запрашивает разрешение на использование микрофона из Chrome.
Если вы не являетесь поклонником использования JQuery, вы можете встроить этот код JS в конец файла HTML-страницы, который вы собираетесь использовать в качестве триггера разрешения.
Для нашего расширения TalkToMe мы использовали options.html
в качестве страницы запуска разрешений.
2. Автоматическое открытие страницы триггера.
Всплывающее окно разрешения микрофона будет открыто только в том случае, если страница триггера была открыта в текущем сеансе браузера. Когда пользователь каждый раз открывает его вручную, это плохой UX. Мы создали фоновый скрипт, чтобы обойти это.
Он пытается получить доступ к микрофону каждые 100 мс и открывает страницу срабатывания разрешения, если запрос отклонен Chrome.
Чтобы скрипт заработал, вам нужно добавить его в свой manifest.json
вместе с другими фоновыми скриптами.
3. Подключение Annyang к распознаванию речи.
Annyang предоставляет универсальную библиотеку для распознавания речи, и ее можно использовать совершенно бесплатно.
Он работает по структуре, основанной на командах, в том смысле, что он вызывает функции на основе речи пользователя. Эта функция идеально подходит для TalkToMe.
Вы можете добавить код annyang.js
в фоновый скрипт и начать его использовать. Здесь я показываю вам пример Hello World из документации.
И да-да, вот так же вы повторили наши часы поиска в StackOverflow для добавления разрешений микрофона к вашему расширению Chrome.
Если бы это руководство помогло вам, мы бы действительно ❤️ могли бы высказать свое мнение о нашем расширении TalkToMe, даже если вы не являетесь пользователем с ослабленным зрением.