le code ne sont pas si complecated ..Comment créer un Pad simple dans Dictation Delphi2009 + Vista
private
{ Private declarations }
SpSharedRecoContext1 : TSpSharedRecoContext;
fMyGrammar : ISpeechRecoGrammar;
procedure SpSharedRecoContext1Recognition(ASender: TObject; StreamNumber: Integer;
StreamPosition: OleVariant;
RecognitionType: SpeechRecognitionType;
const Result: ISpeechRecoResult);
procedure SpSharedRecoContext1Hypothesis(ASender: TObject; StreamNumber: Integer;
StreamPosition: OleVariant;
const Result: ISpeechRecoResult);
procedure TForm1.FormCreate(Sender: TObject); begin SpSharedRecoContext1 := TSpSharedRecoContext.Create(self); SpSharedRecoContext1.OnHypothesis := SpSharedRecoContext1Hypothesis; SpSharedRecoContext1.OnRecognition :=SpSharedRecoContext1Recognition; fMyGrammar := SpSharedRecoContext1.CreateGrammar(0); fMyGrammar.DictationSetState(SGDSActive); end; procedure TForm1.SpSharedRecoContext1Recognition(ASender: TObject; StreamNumber: Integer; StreamPosition: OleVariant; RecognitionType: SpeechRecognitionType; const Result: ISpeechRecoResult); begin Memo1.Text := Result.PhraseInfo.GetText(0,-1,true); end; procedure TForm1.SpSharedRecoContext1Hypothesis(ASender: TObject; StreamNumber: Integer; StreamPosition: OleVariant; const Result: ISpeechRecoResult); begin Memo1.Text := Result.PhraseInfo.GetText(0,-1,true); end;
Mon problème, est la commande vocale vista-OS interceptera sur mon programme. Si je dis "START", au lieu d'écrire commencer sur memo1, appuyez sur le menu Démarrer sur mon bureau. ou quoi que ce soit de commander comme START CANCEL EDIT DELETE SELECT etc. s'il vous plaît aider ..... désolé pour mon anglais
J'ai essayé de changer SpSharedRecoContext en SpInprocRecoContext mais il ne détectera aucun signal vocal. avez-vous un code simple? – XBasic3000
La réponse éditée est plus explicite. –
Ok, je vois ... Thanx Cela résout le problème. Merci beaucoup. plus de pouvoir! – XBasic3000