AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Spracheingaben über die SAPI 5.4 und TSpInProcRecoContext
Thema durchsuchen
Ansicht
Themen-Optionen

Spracheingaben über die SAPI 5.4 und TSpInProcRecoContext

Ein Thema von just beginner · begonnen am 26. Okt 2017 · letzter Beitrag vom 26. Okt 2017
Antwort Antwort
just beginner

Registriert seit: 23. Feb 2007
Ort: Norddeutschland
21 Beiträge
 
Delphi 11 Alexandria
 
#1

Spracheingaben über die SAPI 5.4 und TSpInProcRecoContext

  Alt 26. Okt 2017, 08:06
Hallö,

ich versuche mich an der Spracheingaben über die SAPI 5.4 .
Habe die SAPI 5.4 in die IDE eingebunden und versuche jetzt mit TSpInProcRecoContext eingabe über das Micro zu empfangen.
Laut MS muss ich über Token das Micro bzw. Audio in ziehen und mit SpInProcRecoContext verbinden. Da scheitere ich schon bei der Übergabe aber warum?
Kann mir da einer Helfen?

Delphi-Quellcode:

...

 SpInProcRecoContext1: TSpInProcRecoContext;
    SpObjectToken1: TSpObjectToken;

...

     SpVoice: Variant;
     objAudioTokenCategory : TSpObjectTokenCategory ;
     objAudioToken,
     objEngineToken,
     objProfileToken : ISpeechObjectToken;
     function startVoice: Integer;
     function stopVoice: Integer;
...


//------------------------------------------------------------------------------
// start voice
function TDM_Voice.startVoice: Integer;
var
  MyTokenCategory: WideString;
begin
  try
    SpInProcRecoContext1.EventInterests := SREAllEvents;


    MyTokenCategory := 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\AudioInput'; // SpeechCategoryAudioIn

    objAudioTokenCategory := TSpObjectTokenCategory.Create(Nil) ;
    objAudioTokenCategory.SetId(MyTokenCategory , false);

    objAudioToken := ISpeechObjectToken(objAudioTokenCategory.DefaultInterface);
    objAudioToken.SetId(objAudioTokenCategory.Default, MyTokenCategory, false);

    try
      MyTokenCategory := 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Recognizers'; // SpeechCategoryRecognizers
      objAudioTokenCategory.SetId(MyTokenCategory , false);
    except
      on E: Exception do begin // OLE-Fehler 80045002 > schon vorhanden also kein Fehler
        Logdatent_Schreiben('Fehler in StartVoice Fehler:' +E.Message);
      end;
    end;
    objEngineToken := ISpeechObjectToken(objAudioTokenCategory.DefaultInterface);
    objEngineToken.SetId(objAudioTokenCategory.Default, MyTokenCategory, false);

    try
      MyTokenCategory := 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\RecoProfiles'; // SpeechCategoryRecoProfiles
      objAudioTokenCategory.SetId(MyTokenCategory , false);
    except
      on E: Exception do begin // OLE-Fehler 80045002 > schon vorhanden also kein Fehler
        Logdatent_Schreiben('Fehler in StartVoice Fehler:' +E.Message);
      end;
    end;
    objProfileToken := ISpeechObjectToken(objAudioTokenCategory.DefaultInterface);
    objProfileToken.SetId(objAudioTokenCategory.Default, MyTokenCategory, false);

    SpInProcRecoContext1.Recognizer.AudioInput := objAudioToken; // Fehler falscher Parameter Warum :oops:????
    SpInProcRecoContext1.Recognizer.Profile := objProfileToken;
    SpInProcRecoContext1.Recognizer.CreateRecoContext;

    SpInProcRecoContext1.Connect;

    Logdatent_Schreiben('Starte Voice');
  except
    on E: Exception do begin
      Logdatent_Schreiben('Fehler in StartVoice Fehler:' +E.Message);
    end;
  end;
end;
Frank
  Mit Zitat antworten Zitat
just beginner

Registriert seit: 23. Feb 2007
Ort: Norddeutschland
21 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Spracheingaben über die SAPI 5.4 und TSpInProcRecoContext

  Alt 26. Okt 2017, 11:04
habe das noch gefunden:

https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx


Wie setze ich es nur in Pascal um?
Frank
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz