gpt4 book ai didi

wpf - .net core 3.0 中的 Microsoft Speech

转载 作者:行者123 更新时间:2023-12-03 21:17:11 25 4
gpt4 key购买 nike

我以前在 .net framework 中使用过 Microsoft Speech(不确定它是哪个版本)并且它确实有效。我的电脑上现在没有那个项目。我已经下载并安装了 Runtime 11SDK 11 并在我的 .dll 项目中从 .net core 3.0 引用了 C:\Program Files\Microsoft SDKs\Speech\v11.0\Assembly\Microsoft.Speech.dll 。这是我现在在我的 ViewModel 中的内容:

.
.
.
using Microsoft.Speech.Synthesis;

namespace Read
{
public class VM : INotifyPropertyChanged
{
SpeechSynthesizer synth;
string inputText;
public string InputText { get => inputText; set { inputText = value; OnPropertyChanged(); } }

public Command Speak { get; set; }
public Command Pause { get; set; }
public Command Resume { get; set; }
public Command Stop { get; set; }

public VM()
{
synth = new SpeechSynthesizer();
synth.SetOutputToDefaultAudioDevice();
synth.Volume = 75;
Speak = new Command(speak, (o) => synth.State != SynthesizerState.Speaking);
Pause = new Command(pause, (o) => synth.State == SynthesizerState.Speaking);
Resume = new Command(resume, (o) => synth.State == SynthesizerState.Paused);
Stop = new Command(stop, (o) => synth.State == SynthesizerState.Speaking || synth.State == SynthesizerState.Paused);
}

void speak(object obj) => synth.SpeakAsync(InputText);
void pause(object obj) => synth.Pause();
void resume(object obj) => synth.Resume();
void stop(object obj) => synth.SpeakAsyncCancelAll();

#region Notify Property Changed Members
}

public class Command : ICommand ...
}

在 xaml 中,我有这些:
<Window ...>
<Window.DataContext>
<local:VM/>
</Window.DataContext>
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding InputText}" AcceptsReturn="True" TextWrapping="Wrap"/>
<StackPanel Grid.Column="1">
<StackPanel.Resources>
<Style TargetType="Button">
<Setter Property="Margin" Value="5 0 0 5"/>
</Style>
</StackPanel.Resources>
<Button Content="Speak" Command="{Binding Speak}"/>
<Button Content="Pause" Command="{Binding Pause}"/>
<Button Content="Resume" Command="{Binding Resume}"/>
<Button Content="Stop" Command="{Binding Stop}"/>
</StackPanel>
</Grid>
</Window>

我想这就是我在之前的 Text2Speech 中所做的一切。现在有了所有这些,在我的 .net 核心项目中,它不起作用!

最佳答案

Microsoft Speech Platform SDK 11 与 .NET Core 不兼容。

Microsoft.CognitiveServices.Speech 是新的 .NET Standard 兼容 API,可用于 .NET Core。

您将在 GitHub 上找到 quickstart。官方文档是 here

关于wpf - .net core 3.0 中的 Microsoft Speech,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59159159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com