vbscript - 如何在 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
如何修改此脚本以将音频发送到其他设备?谢谢你的帮助。
解决方案
好的,我找到了一个解决方案,可能写得不好,但它似乎有效。如果有人知道更优雅的解决方案,请随时回复。
(((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
推荐阅读
- javascript - Firebase以选择形式显示数据 - 角度
- testing - 如何在 Leiningen 中声明测试范围依赖项?
- node.js - 我突然无法使用 Typescript 在 node.js 中安装 Express
- airflow - 在 AirflowUI 触发 DAG 时传递参数或配置
- c++ - 声明成员对象而不调用其默认构造函数
- dart - 在 Dart 语言中使用实验性扩展方法时的类型推断
- php - 如何在 Laravel 生成的 registerController 验证器方法中应用验证
- python - 如何在 form_valid 中获取对象 ID?
- php - 在 try-catch 块中继续当前迭代 | PHP
- java - 如何使用二进制改造上传图像?