[SAPI 5] Zapisywanie czytanego tekstu do pliku wav

0

Mam zaimportowaną bibliotekę SpeechLib_TLB.
Chce zrobić aby czytany tekst zapisał mi do pliku.
Znalazłem tylko coś takiego http://tnij.org/iy3 i niestety nie udało mi się
doprowadzić tego do formy działającej.

Poniższy kod powoduje wywalenie błędu:
Incompatible types: 'OleVariant' and 'ISpeechBaseStream'.

var
  fs: OleVariant;
begin
  fs := CreateOleObject('Sapi.SpFileStream');
  fs.Open('c:\test.wav', SSFMCreateForWrite, False);
  SpVoice.AudioOutputStream := fs; // SpVoice jest obiektem ActiveX po zaimportowaniu odpowiedniej biblioteki // tu występuje błąd
  SpVoice.Speak(memSpeech.Text, SVSFDefault);
  fs.Close;
  SpVoice.AudioOutputStream := nil;
end;

Wie ktoś jak przypisać ten OleVariant bez powodowania błedu?

0

Naprawde nikt nie wie? Przewertowałem przykłady zrobienia tego w cpp, vb oraz c# i kompilator nie protestował przy przypisaniu
SpVoice.AudioOutputStream = SpFileStream
a w delphi tak :(

0

A zwykłe rzutowanie nie wystarcza?

SpVoice.AudioOutputStream := ISpeechBaseStream(fs);
0

Niestety nie...
[Error] Main.pas(189): Invalid typecast
Dodanie SpFileStream jako ActiveX a nie OleVariant też nic nie daje, bo nie zgadzają się typy: TSpFileStream i ISpeechBaseStream

1 użytkowników online, w tym zalogowanych: 0, gości: 1