SpeechSynthesizer.AddLexicon(Uri, String) Yöntem

Tanım

Nesnesine SpeechSynthesizer bir sözcük sözlüğü ekler.

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)

Parametreler

uri
Uri

Sözlük bilgilerinin konumu.

mediaType
String

Sözlüğün medya türü. Medya türü değerleri büyük/küçük harfe duyarlı değildir.

Örnekler

Aşağıdaki örnek, "blue" sözcüğü için özel bir söyleniş içeren bir sözcük sözlüğü ekleme ve kaldırmanın etkisini gösterir. Sözcük sözlüğü, "bleep" gibi ses getirmek için "blue" telaffuzunu tanımlar. Sözcük sözlüğü yüklenirken, konuşma sentezleyicisi sözcük sözlüğünde tanımlanan telaffuzu kullanır.

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();
    }
  }
}

Blue.pls lexicon dosyasının içeriği aşağıdadır:

<?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>

Açıklamalar

Söyleniş sözlüğü, desteklenen fonetik alfabenin harflerinden ve karakterlerinden oluşan söylenişleriyle birlikte sözcüklerden veya tümceciklerden oluşan bir koleksiyondur. Uygulamanızda özel sözcük dağarcığı için özel söylenişler belirtmek için sözlük kullanabilirsiniz.

Dış sözlük dosyasında belirtilen söylenişler, konuşma sentezleyicisinin iç sözlüğü veya sözlüğünden daha önceliklidir. Ancak, , AppendSsmlMarkupveya AppendSsml yöntemlerinden herhangi biriyle oluşturulan istemlerde satır içi olarak belirtilen söylenişlerAppendTextWithPronunciation, herhangi bir sözcük sözlüğünde belirtilen söylenişlerden önceliklidir. Satır içi söylenişler yalnızca bir sözcüğün tek bir tekrarı için geçerlidir. Daha fazla bilgi için bkz . Lexicons ve Fonetik Alfabeleri .

Bir nesneye SpeechSynthesizer birden çok sözcük öğesi ekleyebilirsiniz. Şu anda parametresi için mediaType iki değer desteklenmektedir:

  • değeri application/pls+xml , sözlüğün Telaffuz Sözlüğü Belirtimi (PLS) Sürüm 1.0'a uygun olduğunu gösterir. Bu, kullanılacak tercih edilen biçimdir.

  • değeri application/vdn.ms-sapi-lex , lexicon biçiminin Microsoft'a özel bir biçim olan Sıkıştırılmamış Lexicon olduğunu gösterir. Bu eski bir biçimdir ve yukarıda açıklanan PLS biçimini kullanmanızı öneririz.

Şunlara uygulanır

Ayrıca bkz.