首页 > 解决方案 > 如何在 Windows 中为 VBS SAPI 语音脚本设置输出音频设备?

问题描述

如何更改 SAPI 语音脚本中的输出音频设备?

下面的代码效果很好,但我需要将音频发送到不同的音频设备(特别是虚拟音频电缆,以便我可以将其与 Voicemeeter 混合)。它可能看起来像“CABLE-A 输入(VB-音频电缆 A)”。我在 Google 上四处搜索,但找不到任何有关设置 SAPI 设备的有用信息。

从 Windows 10 命令行运行的现有 VBS 脚本如下:

Dim speaks, speech
mm_now=Month(date)
mmm_now=MonthName(mm_now)
dd_now=day(date)
yyyy_now=Right(year(date), 2)
speaks = " . . " & mmm_now & " " & dd_now & " twenty" & yyyy_now & ampm
Set speech=CreateObject("sapi.spvoice")
speech.Speak speaks

如何修改此脚本以将音频发送到其他设备?谢谢你的帮助。

标签: vbscriptsapi

解决方案


好的,我找到了一个解决方案,可能写得不好,但它似乎有效。如果有人知道更优雅的解决方案,请随时回复。

(((all code above the line "sapi.Speak speaks")))

for i = 0 to speech.GetAudioOutputs.Count - 1
  s = speech.GetAudioOutputs.item(i).getdescription
  if (instr(s,"CABLE-B Input") > 0) then
     Set speech.AudioOutput = speech.GetAudioOutputs.item(i)
  End If
next

speech.Speak speaks

推荐阅读