在 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。
我想使用 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。