Je migre de XP vers Windows 7 64 bits. Mon application que j'ai compilée sur ma machine XP fonctionne correctement sur XP. Cependant quand je lance l'exe sur ma machine W7, la liste des voix retournée par GetVoices est la suivante:
Microsoft Anna
Microsoft Mary
Microsoft Mike
Sample TTS voix.Microsoft speech api 5.1 GetVoices renvoie des voix qui n'existent pas sous Windows 7
La boîte de dialogue Propriétés de la parole W7 indique que seul Microsoft Anna est chargé sur la machine. La vérification du registre à HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Speech/Voices le confirme.
Recompiler mon application sur ma nouvelle machine de développement Windows 7 crée un exe qui duplique le comportement ci-dessus. (Le code compilé XP et le code compilé W7 reproduisent la même erreur lorsqu'il est exécuté sous W7)
Je développe en Delphi 7 sous Windows 7 64 bits et j'utilise Microsoft Speech Object Library (Version 5.4) (note: 5.4 est ce qui apparaît dans la liste Import Type Library). J'ai installé SpeechSDK51.exe sur mon ordinateur W7. Cela est arrivé de:
Le code suivant produit la liste des 4 voix sur Windows 7, même si il ne devrait y avoir une seule voix:
procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
SOToken: ISpeechObjectToken;
SOTokens: ISpeechObjectTokens;
begin
cbbVoices.Clear;
SOTokens := SpVoice1.GetVoices('', '');
for i := 0 to SOTokens.Count - 1 do begin
SOToken := SOTokens.Item(i);
cbbVoices.AddItem(SOToken.GetDescription(0), TObject(SOToken));
SOToken._AddRef;
end;
end;
Toutes les suggestions sur la façon de traiter ce problème ?
grâce,
shawnh
J'ai le même problème, avez-vous trouvé une solution? –