- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个 Storyboard,其中包含一些移动元素/对象,我想将 SpeechSynthesizer 添加到 Storyboard中。
这可能吗?我正在使用 C#。
Storyboard myStoryboard=new Storyboard();
SpeechSynthesizer reader = new SpeechSynthesizer();
reader.Speak("This is my first speech project"); /* instead of speak I want
to add this into the storyboard
.....
myStoryboard.Children.Add(readerAnimation);
或者有没有办法将音频添加到 Storyboard中?
最佳答案
如果您愿意使用音频文件,可以使用 MediaTimeLine
类(class)。然后您可以使用 SpeachSynthesizer's SetOutputToWaveFile
之一创建文件的方法。
保存从第二个链接修改的 waveFile:
using (SpeechSynthesizer synth = new SpeechSynthesizer())
{
synth.SetOutputToWaveFile(@"C:\temp\Sample.wav");
PromptBuilder builder = new PromptBuilder();
builder.AppendText("Hello World !");
synth.Speak(builder);
}
Xaml
修改自第一个播放文件的链接
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="100" Width="200">
<StackPanel Background="Black">
<Label Name="clickMe" Content="Click Me" Foreground="White" FontFamily="Arabic Typesetting" FontSize="20" HorizontalContentAlignment ="Center" />
<MediaElement Name="myMediaElement" Width="0" Height="0" />
<StackPanel.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.MouseDown" SourceName="clickMe">
<EventTrigger.Actions>
<BeginStoryboard Name= "myBegin">
<Storyboard x:Name="myStoryBoard" SlipBehavior="Slip">
<MediaTimeline Source="C:\temp\Sample.wav" Storyboard.TargetName="myMediaElement" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</StackPanel.Triggers>
</StackPanel>
</Window>
请注意,一旦 Storyboard 播放该文件,它将对其保持锁定状态。
关于c# - SpeechSynthesizer 到 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17914655/
我目前正在做一个项目,我想让 SpeechSynthesizer 说出一段文字。我还想要一个文本块来显示说话时的单词。如果您不了解语音合成器,您可以阅读本文。 所以基本上问题是,当语音合成器说出文本框
我在 Windows 7 64 位操作系统中安装了新的 32 位 Scansoft 语音 (Jennifer),以便能够在我正在开发的一个 .NET 应用程序中使用。 问题是当我调用该方法时:
我有以下代码 [WebMethod] public byte[] stringToWav(string text) { SpeechSynthesizer ss = new SpeechSyn
我开发了一个项目,我想发布它使用 c#、WPF 和 System.Speech.Synthesizer 对象。阻止该项目发布的问题是,每当调用 SpeakAsync 时,它都会留下内存泄漏,该泄漏会增
除了默认的 Anna 语音外,我还需要在 SpeechSynthesizer 中使用男声。我从 Microsoft 安装了一些文件,GetInstalledVoices() 方法说现在我有 Micro
我在我的 Windows 7 32 位操作系统中安装了一个新语音,以便能够在我正在开发的一个 .NET 应用程序中使用。 但是当我使用 GetInstalledVoices() 方法查看所有语音列表时
我试图更换扬声器,但我没有在 SpeechSynthesizer 类中征集所有已安装的扬声器(George、Susan、Jakub),另一方面我有一个根本没有安装(齐拉)。 这里发生了什么?我能否以某
我正在尝试使用 SpeakAsync() 方法来朗读一些文本。但是,在我调用 Speak() 之前它不会开始说话。我不想调用 Speak()。如果我从此代码中删除 Speak() 方法,则根本不会调用
我创建了一个 Storyboard,其中包含一些移动元素/对象,我想将 SpeechSynthesizer 添加到 Storyboard中。 这可能吗?我正在使用 C#。 Storyboard myS
在 C# 的文本到语音应用程序中,我使用 SpeechSynthesizer 类,它有一个名为 SpeakProgress 的事件,每个说出的词都会被触发。但对于某些声音,参数 e.AudioPosi
我正在尝试通过 SSML 和 .NET SpeechSynthesizer (System.Speech.Synthesis) 更改语音文本的音调 SpeechSynthesizer synthesi
我正在执行一些文本到语音转换,我想在词典文件中指定一些特殊的发音。我跑了MSDN's AddLexicon example逐字逐句,它说出句子,但它不使用给定的词典,似乎有些东西被破坏了。 这是提供的
我正在编写一个应用程序来向学生朗读随机学习问题。 基本流程是: 生成随机问题 将文本分配给 SpeechUtterrance 使用 SpeechSynthesizer 播放 SpeechUtteran
所以我正在尝试向 SpeechSynthesizer 添加一种新语言,特别是挪威语,但它似乎没有安装。 发现这个: Add another voice into .NET Speech(但这里的问题是
我正在使用 Microsoft 的 SpeechSynthesizer 为我的 Windows Phone 应用创建音频输出。我用这个代码 private async void TextToSpeec
我想做的是按下朗读按钮,这将突出显示第一段,然后朗读该段落,然后将下一段滚动到 textView 的中心并突出显示该段落并朗读它等等。我必须添加什么代码才能做到这一点? import UIKit im
在 C# 中使用语音 API 或 SAPI 的这两种方法有什么区别? ? using SpeechLib; SpVoice speech = new SpVoice(); speech.Speak(t
我正在处理文字转语音任务。我面临的问题是,如果我得到例如文本:大家好。还剩 2 分钟。 然后将下面的代码用于语音合成器,它将整个文本视为一个句子,并且在 Hello everyone. 之后不会自然停
我目前正在开发一个需要传输编码为特定音频格式的语音的应用程序。 System.Speech.AudioFormat.SpeechAudioFormatInfo synthFormat =
使用 .Net 3.5 中的 System.Speech.Synthesis.SpeechSynthesizer 类,SpeakProgressEventArgs 的 AudioPosition 属性
我是一名优秀的程序员,十分优秀!