Форум программистов, компьютерный форум, киберфорум
.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
7 / 7 / 3
Регистрация: 06.06.2014
Сообщений: 179
1

Регистрация Microsoft.Speech.dll

04.02.2016, 12:32. Показов 4911. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Знаю, что похожие темы были, но ответа я не нашёл + у меня всё-таки есть различие.
Хочу сделать голосовое управление компьютером. Сначала стояла 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
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2016, 12:32
Ответы с готовыми решениями:

Обучение (адаптация) Microsoft Speech SDK 11
Добрый день. Пишу программу, использующую Microsoft Speech SDK 11. Подскажите способы...

Регистрация dll в windows XP
Добрый день, необходимо зарегистрировать dll как com объект. Для Windows 7 использую &quot;regasm.exe...

Дизассемблирование DLL, правка кода и компиляция его в DLL
ни разу не писал на c#, не пользовался monodeveloperом. сделано следующее: 1. дизассемблировал...

Unable to load DLL (oci.dll). Help!
Всем привет! в чем может быть ошибка?... также ругается на вот эту строчку -...

3
Эксперт .NET
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2016, 20:57
Помогаю со студенческими работами здесь

Ошибка при работе с библиотекой Microsoft.Speech.dll
Всем доброго времени суток. Хочу поработать с распознаванием речи, но к сожалению возникли...

Что лучше использовать для распознования русского языка System.Speech или Microsoft.Speech?
Здравствуйте, у меня проблемы со speech recognition c# в Windows 7, что мне лучше использовать...

Microsoft Speech Recognition Приложение
У меня есть приложение, которое распознаёт речь. Как его запустить на другом компьютере, где не...

Ошибка при создании Microsoft.Speech
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru