[SAPI 5] Zapisywanie czytanego tekstu do pliku wav

[SAPI 5] Zapisywanie czytanego tekstu do pliku wav
PiXel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 98
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'.

Kopiuj
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?

PiXel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 98
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 :(

Pawel200x.5
  • Rejestracja: dni
  • Ostatnio: dni
0

A zwykłe rzutowanie nie wystarcza?

Kopiuj
SpVoice.AudioOutputStream := ISpeechBaseStream(fs);
PiXel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 98
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.