- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题,我对问题原因的理解是在暗示我,而不是规避问题的过程。我想知道是否有人可以进一步解释为什么我会遇到这个问题?
我用本地计算机安装的语音填充组合框:
private void getSystemVoices()
{
foreach (InstalledVoice voiceName in synthesizer.GetInstalledVoices())
{
this.voiceComboBox.Items.Add(voiceName.VoiceInfo.Name);
}
}
我的应用程序在 x86 CPU 下运行,因此所有已安装的语音都填充在此组合框中。我安装了一些 Acapela 语音,我相信它们符合 SAPI 5.1 标准。露西、希瑟和瑞安。
我正在测试此代码以使用语音:
// Initialize a new instance of the SpeechSynthesizer...
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
// Config the audio output...
synthesizer.SetOutputToDefaultAudioDevice();
// Initialize a new instance of the PromptBuilder...
PromptBuilder promptBuilder = new PromptBuilder();
// Config SSML...
promptBuilder.AppendSsmlMarkup("<voice xml:lang=\"en-AU\">");
promptBuilder.StartVoice(this.voiceComboBox.SelectedItem.ToString());
promptBuilder.AppendText("The quick brown fox jumps over the lazy dog.");
promptBuilder.EndVoice();
promptBuilder.AppendSsmlMarkup("</voice>");
// Speak the prompt...
synthesizer.Speak(promptBuilder);
我的问题:如果我选择了“Microsoft Anna”以外的任何声音,我的应用程序将退出。即使我使用 Try/Catch 语句。我没有收到任何错误,也没有调试信息表明发生了错误。如果我不更改默认语音,则不会出现此问题。
在我看来,Microsoft Speech API 是向后兼容的吗?
我使用的是.net4.5,引用System.Speech.dll V4.0.0.0。
有人能解释这种行为吗?
[编辑]请注意:SPVoice 的代码有效:
using SpeechLib;
// SAPI 5.1 Speech Config...
SpVoice voice = new SpVoice();
voice.Rate = speechRate.Value;
voice.Volume = speechVolume.Value;
voice.Voice = voice.GetVoices("", "").Item(voiceComboBox.SelectedIndex);
voice.Speak(readerTextBox.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync);
只有 Microsoft SpeechSynthesizer 会出现此问题。
最佳答案
当您的 .Net 应用程序像那样崩溃时,您通常会在计算机应用程序事件日志中看到一个事件。您可以通过执行以下操作 (Windows 7) 找到事件日志:
计算机
或我的电脑
事件查看器
Windows 日志
应用
您应该会在日志中看到一个错误图标,其中包含有关崩溃的详细信息。
如果您想让应用程序崩溃以防止任何 try-catch block 捕获异常,您可以通过调用 Environment.FailFast();
有意这样做(除了一些常见的内存损坏或检测到篡改的情况)。它与某些 native 代码的不当行为具有相同的效果,即异常抛出器中的 Mushroomed-SuperMario :-)。虽然这不能直接回答您的问题,但它在您的捕获中爆炸的方式表明它可能是类似顺序的错误(损坏的内存,或者语音检测到未经许可的使用等)。
关于c# - Synthesizer.Speak 上的应用程序退出 - System.Speech.dll - 非 Microsoft 语音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22057049/
我有一个在for循环中涉及System.speech程序集的代码,但是从我所看到的来看,抛出给我的错误非常奇怪。 我有一个代码,该代码生成10个随机字母和/或数字,然后将它们存储在一个数组中,该数组将
我有以下正则表达式: /(?<=\w\sspeaks\s)(?!,|\s|\.)([\w]+)/gmi 字符串是: Example Person speaks ExampleLanguage1, Ex
我正在使用一个简单的代码来使用文本转语音: package ch.yourclick.kitt.fragments; import android.os.Bundle; import androidx
我尝试用 javascript 实现一个小网页,允许从两个 mp3 之间的文本播放 specchsynthesis 部分。 至于无论出于何种原因,口语部分的 onend 语句不起作用,我想创建一个递归
我最近一直在玩 SPEAK 对话。到目前为止,我喜欢它,但偶然发现了一个问题。我在 url 参数中传递了一个 itemID,我想在列表控件中显示该项目的子项。 我的方法是创建一个 SearchData
我目前正在使用 speak.js:http://www.syntensity.com/static/espeak.html 显然脚本只允许执行一个语音命令,如果我这样做的话: speak("1");
我写了这个应用程序,实际上我想提供说话功能。但是在添加这个之后,要说的文字就不起作用了。我在 speech.speak(text, TextToSpeech.QUEUE_FLUSH, null); 处
我正在学习使用 eclipse 和 ADT 插件在 Android 上开发应用。 根据android SDK 文档中的这篇文章http://androidappdocs.appspot.com/res
我们将 speak.js 库用于文本到语音的目的。我们需要在这方面实现本地化的女声。我们将其说话功能称为 meSpeak.speak('Hello Thomas"); 但我们无法使其以女声运行。我们观
我正在尝试构建 Super Mario Bros. 第一关的克隆,但我在让我的类(class)相互“交谈”时遇到了一些麻烦。截至目前,我有两个 Controller 类(键盘、游戏 handle )和
我迷路了。我希望能够调节说话音量。无论我做什么,我都无法增加它的音量。如何将其设置为与 Android 设置中的声音一样大(如下所示)? 系统设置 -> 语音输入和输出 -> 文字转语音设置 -> 听
我有一个单页网站,想实现以下目标: 后退按钮就像普通网站一样工作 而不是说, www.mysite.com/index.php?p=#this-is-a-great-product 我想要这个网址 w
我有一个使用 Microsoft.Speech for TTS 的应用程序。如果流在完成之前被 d/c'ed,我的 TTS 就会出现问题。 public void SpeakTest() { Pr
我找了又找,没有结果。至少从我发现的情况来看,没有关于此 API 的明确文档。我想创建一个自定义对象,它可以保存此函数的属性并能够运行它 console.log(window.speechSynthe
我在提交 Android Auto 应用时收到以下反馈: Your app does not support all of the required voice commands. Volume do
我正在尝试编写我的第一个简单的 Sitecore Speak 组件。 没什么特别的,我只需要开始。因此,我在 Visual Studio 中创建了 Speak 组件,并在 Sitecore 中创建了指
public boolean playing=false; private void prepareTTSEngine() { try { synthesi
我自己找不到问题!感谢您的帮助,当我将空结构传递给 getPets() 这是一个接口(interface)接收器时,我期待结构返回的空引用,但我得到了这个错误 **dog 没有实现宠物(说话的类型错误
我正在尝试复制此 video series 中显示的内容通过雅各布: 除自定义 Javascript 部分外,我能够使所有内容正常工作。 define(["sitecore"], function (
这就是我想要的: var elite = document.getElementById("elite"), leet = document.getElementById("leet"), a
我是一名优秀的程序员,十分优秀!