каково различие между SpVoice и SpeechSynthesizer

Я отвечаю на свой вопрос, потому что оказывается, что самый простой способ сделать это - манипулировать вашим системным временем. Это было обременительно для меня, потому что оно заблокировано на моей машине разработчика, поэтому мне пришлось делать это на машине с виртуальной коробкой с отключенной синхронизацией времени. После изменения системного времени на дату в течение срока действия сертификата я смог подписать файлы. Позже я даже смог добавить метку времени, используя внешний сервис. Конечно, Windows сразу же будет жаловаться на этот факт, если вы решите проверить вкладку «Цифровые подписи» в свойствах файла, но это то, чего я хотел добиться для выполнения своих тестов.

10
задан Jeff Atwood 23 February 2009 в 15:32
поделиться

2 ответа

SpeechLib является DLL Interop, который использует классический основанный на COM SAPI под покрытиями. Система. Речь была разработана Microsoft для взаимодействия с Синтезом речи по тексту (и распознавание речи) непосредственно из управляемого кода.

В целом это более чисто, чтобы придерживаться управляемой библиотеки (Система. Речь), когда Вы пишете управляемое приложение.

Это определенно не связано с версией SAPI - наиболее вероятная проблема здесь состоит в том, что речевой поставщик (в этом случае Acapela) должен явно реализовать поддержку определенной Системы. Речевые функции. Возможно, что речь Acapela, которую Вы имеете, поддерживает все, что требуется, но также возможно, что они не делают. Ваш лучший выбор состоял бы в том, чтобы спросить Acapela Group непосредственно.

Речь регистрируется в HKLM\SOFTWARE\Microsoft\Speech\Tokens, и необходимо видеть Windows встроенная речь, а также речь Acapela, которую Вы добавили перечисленный там. При определении каких-либо очевидных различий в том, как они регистрируются, Вы смогли заставлять речь Acapela работать, заставив их регистрацию соответствовать регистрации, например, MS-Anna.

Но я сказал бы, что наиболее вероятная возможность состоит в том, что речь Acapela не была обновлена для поддержки всех интерфейсов, требуемых Системой. Речь.

6
ответ дан 4 December 2019 в 01:58
поделиться

SpeechLib является interop DLL и так отображается на любую версию SpeechLib, он был создан для (можно проверить, что это - свойства).

Система. Речь.* "официальная" поддержка речи в платформе.NET. SpeechSynthesizer выбирает который речевая библиотека использовать во времени выполнения (во многом как Система. Сеть. Почтовые классы сделали).

Я не уверен, почему они возвращают другое количество речи, но оно, вероятно, будет связано с используемой версией SAPI.

3
ответ дан 4 December 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: