Ничего не получается! Ошибки

Функцию обратного вызова, отвечающую за обработку ошибок, мы сделали совсем простой, научив ее обозначать только сам факт ошибки. И совершенно напрасно. Возможно, вы вслед за мной тоже это поняли. Если пока ничего, кроме ошибок, не получилось, не следует отчаиваться. Займемся возможными ошибками и, решив проблему, наверняка придем к успеху! Давайте напишем нормальный обработчик:

Recognition. onerror = function(event) {

If (event. error == ‘no-speech’) { console. log(‘Pe4b не опознается’);

}

If (event. error == ‘audio-capture’) { console. log(‘Отсутствует микрофон!’);

}

If (event. error == ‘not-allowed’) {

Console. log(‘Нет доступа к устройству’);

}

If (event. error == ‘aborted’) {

Console. log(‘Сигнал прерван!’);

}

If (event. error == ‘network’) {

Console. log(‘отсутствует сетевое подключение’);

}

If (event. error == ‘service-not-allowed’) { console. log(‘Сервис не доступен’);

}

If (event. error == ‘language-not-supported’) { console. log(3biK не поддерживается’);

}

If (event. error == ‘bad-grammar’) { console. log(‘B школу, неуч!’);

}

Тут требуется несколько пояснений.

Ошибка not-allowed может возникать по двум причинам — устройство (микрофон) заблокировано, поскольку захвачено каким-то другим процессом, или у процесса банально не хватает прав на захват.

Aborted — это прерывание сигналило другим процессом (например, во время сеанса распознавания «вклинилась» ICQ).

Сообщение service-not-allowed обычно означает, что настройки браузера не позволяют воспользоваться сервисом. Параметр, отвечающий за это разрешение, следует искать здесь — chrome: settings/contentExceptions#media-stream (сюда же нужно обратить внимание при простом not-allowed).

Наличие bad-grammar выглядит очень обнадеживающе, но, по всей вероятности, эта ошибка попа существует только в спецификации, воспроизвести ее у меня не получилось.

Надеюсь, анализ ошибок помог справиться с трудностями, посему продолжим изучение Web Speach API.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *