在 Inno Setup 中使用 SAPI 对象

Using the SAPI object in Inno Setup

我想使用 Windows SAPI COM 对象在安装过程中发出声音。 我知道在 VBScript 中他们是这样做的:

Set oVoice = CreateObject("SAPI.SpVoice")
set oSpFileStream = CreateObject("SAPI.SpFileStream")
oSpFileStream.Open "xxx.wav"
oVoice.SpeakStream oSpFileStream
oSpFileStream.Close

我问过,如何在 Inno Setup 脚本中执行此操作。 我是 Inno Setup 的新手,还没有学会如何使用 CreateOleObject 函数等等。 我试图了解 Inno Setup 文档,但它对我没有帮助。 关于使用 COM 对象的其他答案也没有让我理解这一点。 感谢您的帮助

使用CreateOleObject support function:

var
  oVoice, oSpFileStream: Variant;
begin
  oVoice := CreateOleObject('SAPI.SpVoice');
  oSpFileStream := CreateOleObject('SAPI.SpFileStream');
  oSpFileStream.Open('xxx.wav');
  oVoice.SpeakStream(oSpFileStream);
end;

Pascal Scripting: Using COM Automation objects


有关替代解决方案,请参阅 Playing sound during an Inno Setup install