7 / 7 / 3
Регистрация: 06.06.2014
Сообщений: 179
|
|
1 | |
Регистрация Microsoft.Speech.dll04.02.2016, 12:32. Показов 4911. Ответов 3
Метки нет (Все метки)
Здравствуйте. Знаю, что похожие темы были, но ответа я не нашёл + у меня всё-таки есть различие.
Хочу сделать голосовое управление компьютером. Сначала стояла windows 10. Скопировал прогу Голосовая активация - распознание команды с микрофона и выполнение определенных действий установил microsoft sdk, microsoft runtime, msspeech. В ссылки добавил microsoft.speech.dll и всё заработало, команды распознавало и запускались приложения. Но потом я поставил windows 7, сделал всё тоже самое, но при запуске проекта выдавало ошибку: Не удалось получить фабрику класса COM для компонента с CLSID {49428A60-C997-4D0E-9808-9E326C178D58} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Посмотрел в интернете, пишут, что надо зарегистрировать библиотеку. Регистрирую от админа командой regsvr32 (и для х32, и для х64). Путь к microsoft.speech.dll тот, куда библиотека установилась (C:\SDK\Assembly\Microsoft.Speech.dll) Выдаёт: Модуль "C:\SDK\Assembly\Microsoft.Speech.dll" загружен, но точка входа DllRegisterServer не найдена. Проверьте, что "C:\SDK\Assembly\Microsoft.Speech.dll" является правильным файлом DLL или OCX и повторите попытку. Увидел совет попробовать разрегистрировать сначала эту библиотеку но выдаёт почти тоже самое (но точка входа DllUnRegisterServer не найдена). Нашёл программу Regsvcs.exe, которая регистрирует сборки и библиотеки. Попробовал. Выдало: Предупреждение. В собрке не обнаружены классы, производные от ServicedComponent. <Используйте RegAsm, чтобы зарегистрировать типы ComVisible.> На RegAsm я уже натыкался, так что попробовал с помощью его зарегистрировать. Выдало: RegAsm : warning RA0000: Не зарегистрировано ни одного типа. Ну вот, в принципе и всё. Больше не знаю, что делать. Правда, пока я писал это сочинение, я подумал, что может у меня проблемы не с microsoft.speech.dll? Может, там что-то другое не зарегистрировано? Как узнать что за компонент, для которого не удалось получить фабрику класса, по clsid? И если узнаю, что это за компонент, как узнать, что он требует от меня? Прошу помощи
1
|
04.02.2016, 12:32 | |
Ответы с готовыми решениями:
3
Обучение (адаптация) Microsoft Speech SDK 11 Регистрация dll в windows XP Дизассемблирование DLL, правка кода и компиляция его в DLL Unable to load DLL (oci.dll). Help! |
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
|
|
05.02.2016, 01:40 | 2 |
Сообщение было отмечено Tabigon как решение
Решение
Попробуйте переустановить Microsoft Speech Platform Runtime, в ручную ничего не нужно регистрировать. При установке обратите внимание на разрядность устанавливаемого пакета (нужно чтобы совпадала с разрядность вашего приложения).
3
|
7 / 7 / 3
Регистрация: 06.06.2014
Сообщений: 179
|
|
05.02.2016, 10:10 [ТС] | 3 |
Someone007, спасибо большое Несколько дней бился над этим. Похоже, что у меня 32-разрядное приложение. Я, в принципе, так и думал, что дело не в отсутствии регистрации библиотеки. Так вот, решение: скачал microsoft speech platform sdk (x86) и microsoft speech platform runtime (x86). Поставил, в ссылки проекту добавил новый microsoft.speech.dll и всё заработало!
3
|
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
|
|
09.02.2016, 20:57 | 4 |
По хорошему, даже регистрировать не надо было. В References только галку на эту dll поставить и все. using добавили и в бой.
Даже не совсем понял, для чего фабрику класса COM получать.
0
|
09.02.2016, 20:57 | |
09.02.2016, 20:57 | |
Помогаю со студенческими работами здесь
4
Ошибка при работе с библиотекой Microsoft.Speech.dll Что лучше использовать для распознования русского языка System.Speech или Microsoft.Speech? Microsoft Speech Recognition Приложение Ошибка при создании Microsoft.Speech Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |