[Microsoft Agent ist ab Version Windows 7 veraltet und in nachfolgenden Versionen von Windows.]
Wenn ich Microsoft Visual Basic (oder andere Entwicklungstools) zum Erstellen von Skripts für Microsoft Agent verwende, werden nicht alle Eigenschaften und Ereignisse in Ihren Beispielen verwendet. Gewusst wie auf sie zu?
Die meisten Ereignisse, Methoden und Eigenschaften, die vom Microsoft Agent-Steuerelement unterstützt werden, werden nur zur Laufzeit verfügbar gemacht. Weitere Informationen finden Sie unter Programmieren des Microsoft Agent-Steuerelements.
Das Map-Tag (oder ein anderes Tag) scheint nicht zu funktionieren.
Einige Tags enthalten Zeichenfolgen in Anführungswörtern. Für einige Programmiersprachen wie Microsoft Visual Basic und Visual Basic Scripting Edition müssen Sie möglicherweise zwei Anführungszeichen verwenden, um den Parameter des Tags zu kennzeichnen oder ein doppeltes Anführungszeichen als Teil der Zeichenfolge zu verketten. Letzteres wird in diesem Beispiel Visual Basic gezeigt:
Agent1.Characters("Genie"). Sprechen Sie "This is \ map=" + chr(34) + "Spoken text" _ + chr(34) + "=" + chr(34) + "Balloon text" + chr(34) + " \ ."
Bei der C-, C++- und Java-Programmierung wird vor den zurücken Schrägstrichen und doppelten Anführungszeichen ein zurücker schräger Schrägstrich verwendet. Beispiel:
BSTR bszSpeak = SysAllocString(L"This is \ \ map= \ "Spoken text \ "= \ "Balloon text \ " \ \ ");
pCharacter->Speak(bszSpeak, ......);
Hinweis
Microsoft Agent unterstützt nicht alle tags, die in der Microsoft Speech-API angegeben sind. Darüber hinaus kann die Unterstützung einiger Parameter von der installierten Text-to-Speech-Engine abhängen. Weitere Informationen finden Sie unter Microsoft Agent Speech Output Tags.
Ich scheint keine RequestStart- und RequestComplete-Ereignisse in meinem Skript (oder Programm) zu erhalten.
Dies kann durch eines der folgenden Probleme verursacht werden:
- Ihre Programmiersprache unterstützt keine vollständigen ActiveX Steuerelementen. Überprüfen Sie Ihre Dokumentation, um sicherzustellen, dass sie die ActiveX-Schnittstelle und Ereignisse für ActiveX unterstützt.
- Auf einer Skriptwebseite konnte ein anderes Steuerelement nicht installiert oder geladen werden. Stellen Sie sicher, dass alle anderen Steuerelemente ohne Microsoft Agent installiert sind und ordnungsgemäß geladen werden.
- Auf einer Webseite mit Skripts mit Frames haben Sie das -Tag für das Microsoft Agent-Steuerelement auf einer Seite und die Ereignisse, die
<OBJECT>auf einer anderen Seite erstellt wurden. Ereignisse werden nur an die Seite gesendet, die das Steuerelement hostet.
Ich verstelle das Microsoft Agent-Steuerelement mit anderen ActiveX-Steuerelementen auf meiner Webseite, und ich scheint keine Ereignisse zu erhalten.
Überprüfen Sie, ob die anderen Steuerelemente ordnungsgemäß installiert sind. Wenn ein ActiveX nicht ordnungsgemäß registriert werden kann, kann das Microsoft Agent-Steuerelement seine Ereignisse empfangen.
Mit welchen Programmiersprachen kann ich das Microsoft Agent-Steuerelement programmieren?
Microsoft Agent sollte von jeder Sprache unterstützt werden können, die die ActiveX unterstützt. Sie enthält Codebeispiele für Visual Basic, VBScript, JScript, C/C++ und Java.
Kann ich auf die von Microsoft Agent zurückgegebenen Parameter mithilfe von JScript?
Ja, aber derzeit ist die einzige Möglichkeit, dies zu tun, die Verwendung der <SCRIPT LANGUAGE="JScript" FOR="*object*" EVENT="event()"> -Syntax. Obwohl diese Syntax für Microsoft Internet Explorer unterstützt wird, wird sie von anderen Browsern nicht unterstützt, daher sollten Sie die Verwendung von JScript für diesen Teil des Skripts Ihrer Seite vermeiden.
Kann Microsoft Agent mit anderen als den von Microsoft bereitgestellten Engines für spracherkennung oder Sprachsynthese (Text-to-Speech, TTS) verwendet werden?
Ja, vorausgesetzt, die Engine unterstützt die für Microsoft Agent erforderlichen SAPI 4.0-Schnittstellen (Microsoft Speech API). Informieren Sie sich beim Engine-Lieferanten. Vollständige Informationen zu den sapi-Schnittstellen, die für Microsoft Agent erforderlich sind, finden Sie unter Supportanforderungen für die Speech-Engine.
Meine Seite enthält HTML-Objekttags für Microsoft Agent, die Lernout & Hauspie TruVoice-TTS-Engine und die Microsoft Command and Control-Spracherkennungs-Engine, aber nicht alle Komponenten werden installiert.
In der Regel kann das Problem durch Aktualisieren der Seite behoben werden. Als allgemeine Vorgehensweise empfiehlt es sich, zuerst das Microsoft Agent Control-Tag, dann die <OBJECT> Lernout & Hauspie TruVoice-Engine und dann die Spracherkennungs-Engine Command and Control anzugeben.
Nach dem Aufruf der MoveTo-Methode scheint mein Zeichen zu frieren, obwohl ich Animationen zum Zurückgeben von Animationen zum Verschieben des Zustands zugewiesen habe.
Wenn Sie eine Animation wiedererlangen, zeigen die Animationsdienste weiterhin ihren letzten Frame an, bis eine andere Animation aufgerufen wird. Daher sollten Sie nach dem Aufruf von MoveTo eine weitere Animation wiedererlangen. Wenn Sie eine Return-Animation für die Animation zum Verschieben des Zustands definiert haben, gibt der Server sie zuerst wieder.
Wenn ich die Pitch-Eigenschaft des Zeichens abfrage, wird der Wert -1 zurückgegeben.
Dies tritt auf, wenn das Zeichen mit der Standardmäßig-Tonhöheneigenschaft einer Sprach-Engine kompiliert wurde. Das bedeutet, dass die Tonhöhe nicht geändert wurde, als das Zeichen erstellt wurde.
Wenn mein Code versucht, die TTS-Modus-ID für eine Text-to-Speech-Engine zu setzen, wird der folgende Fehler angezeigt: Ein ausgehender Aufruf kann nicht ausgeführt werden, da die Anwendung einen eingabesynchronen Aufruf weitersendet.
Um die TTSModeID-Eigenschaft festlegen zu können, muss Speech.dll installiert sein. Dies ist in der Regel ein Teil des Installationscodes der Sprach-Engine. Sie können dies auch installieren, indem Sie die Speech-Objektsteuerung installieren, die auf der Microsoft Agent-Downloadseite verfügbar ist.
Beim erneuten Laden eines Zeichens, das nicht geladen werden konnte, schlägt der Aufruf mit dem Fehler "Zeichen bereits geladen" fehl.
Das Microsoft Agent-Steuerelement entlädt kein Zeichenobjekt (gibt den Verweis frei), wenn die zugeordnete Zeichendatei nicht geladen werden kann. Wenn Sie versuchen möchten, das Zeichen erneut zu laden, müssen Sie vor dem zweiten Aufruf von Laden explizit Unload aufrufen. Wenn Sie dies über ein Webseitenskript versuchen, müssen Sie dem Unload-Aufruf auch eine On Error Resume Next-Anweisung vorangehenden, ander denn der Unload-Aufruf tritt ebenfalls auf. (Beachten Sie, JScript keine On Error Resume Next-Anweisung hat.)
Möglicherweise müssen Sie jedoch keinen Code verwenden, um sofort zu versuchen, ein Zeichen zu laden, wenn die Datei nicht geladen werden kann. Microsoft Internet Explorer und die Microsoft Agent-Serverkomponente versuchen automatisch mehrmals, den Vorgang zu wiederholen, sodass die Wahrscheinlichkeit, dass ihre Wiederholung zu einer erfolgreichen Auslastung führt, remote ist. Eine bessere Strategie besteht im Warten (Festlegen eines Timers) einige Sekunden, bevor Sie den Vorgang wiederholen.
Wie kann ich Microsoft Agent als Teil meiner Anwendung oder von meinem Webserver installieren?
Sie können den -Agent von der Microsoft-Website installieren, indem Sie seine CLSID in ein HTML-Objekttag einfügen. Wenn Sie den -Agent jedoch über Ihr eigenes Anwendungsinstallationsprogramm oder von Ihrem eigenen Server ein- und installieren möchten, müssen Sie die Selbstinstallationsdatei von Microsoft Agent herunterladen, indem Sie sie von der Downloadseite herunterladen. Wählen Sie beim Herunterladen die Option Speichern statt ausführen des Browsers aus. Wenn diese Datei ausgeführt wird, wird microsoft Agent automatisch auf dem Zielcomputer installiert. Daher können Sie die Datei in Ihrem Installationsskript angeben.
Versuchen Sie nicht, Microsoft Agent zu installieren, indem Sie die verschiedenen kopieren. DLLs und der Versuch, sie selbst zu registrieren. Der Versuch, den -Agent auf andere Weise zu installieren, bedeutet, dass die ausführung der selbstinstallierenden Schränkdatei nicht unterstützt wird.
Das Zielsystem muss auch aktuelle Versionen von MSVCRT.DLL (VC++ Runtime), REGSVR32.EXE (Registrierungstool im Lieferumfang von Microsoft VC++) und COM enthalten. Die beste Möglichkeit, um sicherzustellen, dass die richtigen Versionen installiert sind, ist die Installation von Microsoft Internet Explorer 3.02 oder höher. Sie können diese Laufzeitanforderungen jedoch auch lizenzieren. (Für die neueste Version von COM greifen Sie über die Microsoft-Website auf das DCOM-Update zu.)
Microsoft Agent 2.0 wird nicht unter Microsoft Windows 2000 installiert, da diese Version des Betriebssystems bereits den -Agent enthält.
Kann ich den Visual Basic Setup-Assistant Microsoft Agent installieren?
Sie können zwar ihr eigenes Installationsprogramm mithilfe Visual Basic (VB)-Code erstellen, sie können jedoch nicht die Visual Basic Setup-Assistant verwenden. Um den -Agent über VB installieren, können Sie den Shell-Befehl verwenden und dabei die Selbstinstallierungsdatei des Microsoft-Agents angeben.
Gewusst wie Microsoft Agent auf Windows 2000 installieren?
Microsoft Agent 2.0 wird auf Windows 2000 nicht installiert, da es bereits als Teil des Betriebssystems enthalten ist.
AgentSvr stürzt ab, wenn Speak mit einer WAV-Datei aufgerufen wird.
Dies kann dazu führen, dass das Zeichen TTS für die gesprochene Ausgabe verwendet und dann eine WAV-Datei verwendet. Im ersten Parameter der Speak-Methode wurde kein Text angegeben.
Um den Absturz zu vermeiden, schließen Sie ein Leerzeichen in den ersten Parameter der Speak-Methode ein, auch wenn Sie keine Textausgabe haben.
Obwohl ich die -Agent-Sprachkomponente (DLL) für eine bestimmte Sprache bereits installiert habe, wurde immer noch ein Fehler angezeigt, dass die Komponente fehlt, wenn ich die Sprache des Zeichens auf diese Sprache feststelle.
Dies geschieht normalerweise, wenn Sie -Agent-Anwendungen wie Microsoft Office 2000 geöffnet haben, wenn Sie die -Sprachkomponente des -Agents installieren. Schließen Sie alle Anwendungen, und versuchen Sie es erneut. Wenn das Problem weiterhin besteht, starten Sie den Computer neu, und Sie sollten die Sprach-ID jetzt festlegen können.
Wenn ich das Ampersand-Symbol "&" verwende, wird der Text um das Symbol in den Wortsprechblasen des Zeichens abgeschnitten.
Dies ist ein bekanntes Problem. Sie können dies mithilfe des Kartentags umarbeiten. Um beispielsweise "A & B" im Wortsprechblasenzeichen des Zeichens anzuzeigen, verwenden Sie "A \ map=" und "="&&" B" in der \ Speak-Anweisung.
Meine Anwendung ermöglicht Benutzern, das Standardzeichen zu ändern, und wenn dies der Standard ist, stürzt das Programm ab.
Es gibt zwei mögliche Ursachen:
Wenn Sie die TTS-Modus-ID des Standardzeichens ändern und dann zulassen, dass der Benutzer das Standardzeichen über ShowDefaultCharacterProperties ändert, stürzt AgentSvr ab.
Dieses Problem wurde in den Betriebssystemen Windows 2000 und Windows XP behoben. Um den Absturz auf anderen Plattformen zu vermeiden, sollten Sie dem Benutzer entweder nicht erlauben, das Standardzeichen zu ändern, nachdem Sie die TTS-Modus-ID des Standardzeichens geändert haben, oder nicht das Standardzeichen in Ihrer Anwendung oder Webseite verwenden.
Wenn Ihre Anwendung keine von Microsoft bereitgestellten Agent-Zeichen verwendet, stellen Sie sicher, dass ihr benutzerdefiniertes Zeichen eine Palette mit einer vollständigen Palette von 256 Farben verwendet. Weitere Informationen finden Sie im Dokument Entwerfen von Zeichen für Microsoft Agent.
Meine Seite lädt das -Agent-Zeichen aus mehreren Frames. Mit IE 5 kann der Microsoft-Agent nicht geladen werden.
Dies ist ein bekanntes Problem mit IE 5. Die Verarbeitung eines bestimmten Ereignisses durch den Browser wurde geändert, wodurch das HTML-Skript vor dem Start von AgentSvr ausgeführt wird. Damit Ihre Seite mit allen Browserversionen funktioniert, müssen Sie ihrem Skript diese Zeile hinzufügen:
AgentControl.Connected = True
, der explizit eine Verbindung mit agentSvr herstellt. Beachten Sie, dass Sie dies nur tun müssen, wenn die Seite den -Agent aus mehreren Frames lädt.
Wenn meine Anwendung versucht, den Microsoft-Agent auf Windows 2000 (oder Windows XP) zu installieren, erhalte ich den Fehler, dass der Agent nicht mit Windows 2000 (oder Windows XP) kompatibel ist.
Eine frühere Version der Core Component Cabinet-Datei des -Agents MSAGENT.exe blockiert bei Der Ausführung am Windows 2000 (und Windows XP) blockiert die Installation und zeigt eine ungenaue Fehlermeldung an, dass der Agent nicht mit der Version des betriebssystems kompatibel ist, das Sie ausführen. Tatsächlich sind Microsoft Agent 2.0-Kernkomponenten im Rahmen von Windows 2000 (und Windows XP) enthalten und bereits standardmäßig über Windows-Setup installiert.
In dieser Version wird die Überprüfung entfernt, und die Installationsdatei zeigt die oben genannte Fehlermeldung nicht unter Windows 2000 (oder Windows XP) an. Beachten Sie, dass dies die einzige Änderung an der Installationsdatei ist, und es gibt keine Codeänderungen an den Agent-Kernkomponenten selbst. Daher sind Sie von diesem Update nicht betroffen, wenn Agent 2.0 bereits installiert ist oder wenn Ihre Website ein Objekttag verwendet, um automatische Downloads der Agent-Kernkomponenten aus dem Microsoft Object Store auszulösen.
Wenn Sie die Installationsdatei der Agent-Kernkomponente in Ihre Anwendung einschließen oder die Installationsdatei auf Ihrem Server veröffentlichen, können Sie dieses Update herunterladen. Klicken Sie hierzu hier, und wählen Sie die Option "Dieses Programm auf Datenträger speichern" aus. Unter diesen Umständen benötigen Sie eine gültige und aktuelle Agent-Verteilungslizenz.
Alternativ können Sie dieses Problem auch umgehen, indem Sie bei der Installation der vorherigen Version der MSAGENT.exe Installationsdatei die Option automatisch verwenden. Der Shellbefehl lautet:
MSAGENT.exe /q:a
Dasselbe gilt für die -Agent-Sprachkomponenten, die ursprünglich im Oktober 1998 veröffentlicht wurden. Eine Überprüfung verhinderte, dass die Komponenten arabisch, französisch, deutsch, hebräisch, italienisch, japanisch, koreanisch, vereinfachtes Chinesisch, Spanisch und Chinesisch (traditionell) unter Windows 2000 (und Windows XP) installiert werden. Die neueren Versionen dieser Installationsdateien sowie die zusätzlichen 19 Sprachen, die im März 2000 hinzugefügt wurden, enthalten diese Überprüfung nicht und werden erfolgreich auf Windows 2000 (und Windows XP) installiert.
Mein benutzerdefiniertes Zeichen weist ein unerwartetes Verhalten mit seiner Transparenzfarbe auf Windows 2000 (und Windows XP) auf.
Dies ist ein bekanntes Problem bei Zeichen, die mit einer Palette von weniger als 256 Farben erstellt wurden. Probleme mit diesen Zeichen umfassen die Transparenzfarbe im Hintergrund, transparenten Sprechblasentext, transparenten Sprechblasenrahmen oder transparenten Sprechblasenhintergrund. Beachten Sie, dass solche Zeichen dazu führen können, dass Ihre Anwendungen abstürzt, wenn sie in das Dialogfeld "Agent-Zeichenauswahl" oder den Katalog des Microsoft Office-Assistenten geladen werden. Ihre benutzerdefinierten Zeichen müssen eine vollständige Palette mit 256 Farben verwenden. Sie können die für Office Assistant-Zeichen bereitgestellte Beispielpalette als Ausgangspunkt mit einer vollständigen Farbpalette von 256 Verwenden.
Das Zeichen verwendet nicht die britisch-englische TTS-Engine, obwohl ich seine Sprach-ID auf Englisch (Britisch) &h0809 festgelegt habe.
Stellen Sie zunächst sicher, dass Sie alle erforderlichen Komponenten installiert haben– Agent-Kernkomponenten, die SAPI-Laufzeitbinärdateien und eine SAPI4-konforme britisch-englische TTS-Engine wie die TTS3000 British English Engine, die auf der Seite Agent-Downloads zum Download zur Verfügung steht. Wenn Ihr Zeichen immer noch nicht die britisch-englische TTS-Engine verwendet, ist wahrscheinlich auch eine amerikanische englische TTS-Engine installiert. Da sowohl britisch als auch amerikanisches Englisch die gleiche primäre Sprache (Englisch) und amerikanisches Englisch die Standardsprache ist, wählt der Agent die erste verfügbare TTS-Engine für amerikanisches Englisch aus, die von SAPI zurückgegeben wird. Um eine britisch-englische TTS-Engine zu verwenden, verwenden Sie stattdessen die TTSModeID-Eigenschaft des Zeichens. Die TTSModeID für die britisch-englische Stimme TTS3000 lautet beispielsweise {227A0E41-A92A-11d1-B17B-0020AFED142E}. In Microsoft Visual Basic können Sie diese Engine verwenden, indem Sie Merlins TTSModeID wie folgt festlegen:
AgentControl.Characters("Merlin"). TTSModeID = {227A0E41-A92A-11d1-B17B-0020AFED142E}
Wenn das Volume des Zeichens mit dem Sprachtag \Vol=0 auf 0 festgelegt \, ist, hat es entweder keine Auswirkungen oder stürzt den AgentSvr ab.
Dies ist ein bekanntes Problem. Bei Windows 95, Windows 98 und Windows Me-Betriebssystemen ändert sich das Volume des Zeichens nicht, sondern bleibt auf der zuvor festgelegten Ebene. Auf Windows NT 4.0-, Windows 2000- und Windows XP-Plattformen führt dies dazu, dass AgentSvr abstürzt, auch wenn keine TTS-Engine installiert ist. Da der Bereich des Volumens des Zeichens von 0 (Stille) bis 65535 (maximales Volumen) groß ist und der Unterschied zwischen aufeinander folgenden Ebenen kaum erkennbar ist, besteht die einfache Problemumgehung darin, das Volume auf 1 anstelle von 0 festzulegen, wenn die Stimme des Zeichens unerhört sein soll.
Die Return-Animation meines angepassten Zeichens wird nach den Animationen MoveDown, MoveLeft, MoveRight und/oder MoveUp nicht ordnungsgemäß wiedergegeben.
Stellen Sie sicher, dass dem Sprechzustand eine einfache Sprechanimation zugewiesen ist. Beispielsweise können Sie einen einzelnen Frame verwenden, der aus der neutralen Position des Zeichens mit Überlagerungen besteht.