XP에서 Windows 7 64 비트로 마이그레이션 중입니다. 내 XP 컴퓨터에서 컴파일 한 내 응용 프로그램은 XP에서 제대로 작동합니다. 내 W7 시스템에서 EXE를 실행하면 다음과 같이 그러나, GetVoices에 의해 반환 된 목소리의 목록입니다 :
마이크로 소프트 안나
마이크로 소프트 마리아
마이크로 소프트 마이크
샘플 TTS 음성.Microsoft 음성 API 5.1 GetVoices는 Windows 7에 존재하지 않는 음성을 반환합니다.
W7 Speech Properties (Speech 속성) 대화 상자에서 Microsoft Anna 만 컴퓨터에로드 된 것을 확인합니다. HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Speech/Voices에서 레지스트리를 확인하면이 사실이 확인됩니다.
내 새 Windows 7 개발 컴퓨터에서 내 응용 프로그램을 다시 컴파일하면 위의 동작과 동일한 exe 파일이 만들어집니다. (XP에서 컴파일 된 코드와 W7 컴파일 된 코드는 W7에서 실행될 때 같은 오류를 재생합니다.)
Windows 7 64 비트에서 Delphi 7에서 개발 중이며 Microsoft Speech Object Library (버전 5.4)를 사용하고 있습니다. 참고 : 5.4는 가져 오기 유형 라이브러리 목록에 표시됩니다).
내 W7 컴퓨터에 SpeechSDK51.exe를 설치했습니다. 이 문제를 해결하는 방법에 대한
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;
어떤 제안 : 하나의 음성이 있어야한다하더라도
은 다음 코드는 윈도우 7에 4 목소리의 목록을 생성합니다이 온 ?
덕분에,
shawnh
동일한 문제가 있습니다. 해결책을 찾았습니까? –