You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB6中使用MCI语音命令能否实现女声输出?当前仅支持男声

VB6 MCI语音控制实现女声输出

可以通过MCI语音命令实现女声输出,核心是指定系统中已安装的女声语音合成引擎,具体操作如下:

  • 确认系统已安装女声TTS引擎
    MCI依赖Windows系统自带的文本转语音(TTS)引擎,默认可能仅包含男声引擎。你可以在Windows设置的「时间和语言-语音」中查看已安装的语音,若没有女声引擎,需先添加对应包(比如微软的Microsoft Zira Desktop)。

  • 通过MCI命令指定女声引擎
    在初始化语音设备后,使用set命令指定目标女声引擎。示例代码如下:

    ' 需在模块中声明API
    Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
    
    ' 初始化并设置女声
    Dim mciCmd As String
    Dim ret As Long
    
    ' 打开语音设备
    mciCmd = "open new type waveaudio alias voice"
    ret = mciSendString(mciCmd, vbNullString, 0, 0)
    
    ' 指定女声引擎(替换为你系统中实际的女声引擎名称)
    mciCmd = "set voice voice ""Microsoft Zira Desktop"""
    ret = mciSendString(mciCmd, vbNullString, 0, 0)
    
    ' 播放女声文本
    mciCmd = "speak voice text ""测试女声输出"""
    ret = mciSendString(mciCmd, vbNullString, 0, 0)
    
    ' 关闭设备
    mciCmd = "close voice"
    ret = mciSendString(mciCmd, vbNullString, 0, 0)
    
  • 获取系统可用语音列表
    若不确定引擎名称,可通过以下命令获取所有已安装的语音:

    Dim voiceList As String * 256
    mciCmd = "status voice voices"
    ret = mciSendString(mciCmd, voiceList, Len(voiceList), 0)
    MsgBox Trim(voiceList) ' 弹出显示所有可用语音名称
    

内容的提问来源于stack exchange,提问作者hamptondude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:42:05