Freigeben über


SpeechSynthesizer.AddLexicon(Uri, String) Methode

Definition

Fügt dem SpeechSynthesizer-Objekt ein Lexikon hinzu.

public:
 void AddLexicon(Uri ^ uri, System::String ^ mediaType);
public void AddLexicon (Uri uri, string mediaType);
member this.AddLexicon : Uri * string -> unit
Public Sub AddLexicon (uri As Uri, mediaType As String)

Parameter

uri
Uri

Der Speicherort der Lexikoninformationen.

mediaType
String

Der Medientyp des Lexikons. Bei Medientypwerten wird die Groß-/Kleinschreibung nicht berücksichtigt.

Beispiele

Im folgenden Beispiel wird die Auswirkung des Hinzufügens und Entfernens eines Lexikons veranschaulicht, das eine benutzerdefinierte Aussprache für das Wort "blue" enthält. Das Lexikon definiert die Aussprache von "blau" so, dass es wie "bleep" klingt. Während das Lexikon geladen wird, verwendet der Sprachsynthesizer die im Lexikon definierte Aussprache.

using System;
using System.Speech.Synthesis;

namespace SampleSynthesis
{
  class Program
  {
    static void Main(string[] args)
    {

      // Initialize a new instance of the SpeechSynthesizer.
      using (SpeechSynthesizer synth = new SpeechSynthesizer())
      {

        // Configure the audio output.
        synth.SetOutputToDefaultAudioDevice();

        // Speak the prompt.
        synth.Speak("My favorite color is blue.");

        // Add a lexicon that changes the pronunciation of "blue".
        synth.AddLexicon(new Uri("C:\\test\\Blue.pls"), "application/pls+xml");

        // Speak the prompt.
        synth.Speak("My favorite color is blue.");

        // Remove the lexicon.
        synth.RemoveLexicon(new Uri("C:\\test\\Blue.pls"));

        // Speak the prompt.
        synth.Speak("My favorite color is blue.");
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

Im Folgenden sind die Inhalte der Lexikondatei Blue.pls aufgeführt:

<?xml version="1.0" encoding="UTF-8"?>

<lexicon version="1.0"
      xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
      alphabet="x-microsoft-ups" xml:lang="en-US">

  <lexeme>
    <grapheme> blue </grapheme>
    <phoneme> B L I P </phoneme>
  </lexeme>

</lexicon>

Hinweise

Ein Aussprache-Lexikon ist eine Sammlung von Wörtern oder Ausdrücken zusammen mit ihren Aussprachen, die aus Buchstaben und Zeichen aus einem unterstützten phonetischen Alphabet bestehen. Sie können ein Lexikon verwenden, um benutzerdefinierte Aussprachen für spezielles Vokabular in Ihrer Anwendung anzugeben.

Aussprachen, die in einer externen Lexikondatei angegeben sind, haben Vorrang vor den Aussprachen des internen Lexikons oder Wörterbuchs des Sprachsynthesizers. Aussprachen, die inline in Eingabeaufforderungen angegeben sind, die mit einer der AppendTextWithPronunciationMethoden , AppendSsmlMarkupoder erstellt wurden, AppendSsml haben jedoch Vorrang vor Aussprachen, die in einem beliebigen Lexikon angegeben sind. Inlineaussprechungen gelten nur für ein einzelnes Vorkommen eines Worts. Weitere Informationen finden Sie unter Lexicons und Phonetische Alphabete .

Sie können einem SpeechSynthesizer Objekt mehrere Lexikon hinzufügen. Für den mediaType Parameter werden derzeit zwei Werte unterstützt:

  • Der Wert application/pls+xml gibt an, dass das Lexikon mit der Pronunciation Lexicon Specification (PLS) Version 1.0 übereinstimmt. Dies ist das bevorzugte Format für die Verwendung.

  • Der Wert application/vdn.ms-sapi-lex gibt an, dass das Lexikonformat unkomprimiertes Lexikon ist, bei dem es sich um ein microsoft-proprietäres Format handelt. Dies ist ein Legacyformat, und es wird empfohlen, das oben beschriebene PLS-Format zu verwenden.

Gilt für:

Weitere Informationen