.net 如何禁用SpeechSynthesizer以通过扬声器生成文本

hjzp0vay  于 2023-02-06  发布在  .NET
关注(0)|答案(1)|浏览(200)

我正在尝试用文本到语音的方法生成文件。

public AudioResponse GenerateAudio()
{
        _speechConfig.SpeechSynthesisVoiceName = $"{request.Language}-{request.Voice}";
        using SpeechSynthesizer synthesizer = new(_speechConfig);
      
        SpeechSynthesisResult result = await synthesizer.SpeakTextAsync("Test");
        File.WriteAllBytes(@"D:\front-doors-opening.mp3", result.AudioData);
        return new AudioResponse { Audio = result.AudioData };
}

执行生成音频时,文件会存储,SpeakTextAsync会播放我的文本。是否有办法配置SpeechSynthesize以生成音频数据而不生成它?
Package :
微软.认知服务.语音-版本="1.23.0"
. NET 6语言

eqqqjvef

eqqqjvef1#

Hans Passant的帮助下,我找到了正确的配置设置,不会通过扬声器生成使用SpeechSynthesizer生成的文本。您只需将配置空值添加为AudioConfig

using var synthesizer = new SpeechSynthesizer(config, null as AudioConfig);

相关问题