【问题标题】:"SpeechSynthesisUtterance is not defined" in Chrome and FirefoxChrome 和 Firefox 中的“SpeechSynthesisUtterance 未定义”
【发布时间】:2014-02-04 18:18:19
【问题描述】:

以下 Dart 代码不适用于 Chrome 或 Firefox。

import 'dart:html';

void main() {
  SpeechSynthesisUtterance speechSynthesisUtterance = new SpeechSynthesisUtterance();
  speechSynthesisUtterance.lang = 'en-US';
  speechSynthesisUtterance.rate = 1;

  DivElement div = querySelector("#text");
  querySelector('#read').onClick.listen((e) {
    speechSynthesisUtterance.text = div.text;
    window.speechSynthesis.speak(speechSynthesisUtterance);
  });

}

浏览器的控制台显示此错误:

Uncaught ReferenceError: SpeechSynthesisUtterance is not defined 

已在以下设备上进行了测试: Ubuntu 13.10 x64 上的 Chromium 版本 (31.0.1650.63) 和 Firefox (26.0)

知道出了什么问题吗?

【问题讨论】:

  • 您使用的是哪个 Chrome 和 Firefox 版本?
  • 如果它适用于您的浏览器,您是否直接使用 JavaScript 尝试过?
  • 我已经用浏览器的信息更新了我的问题。不幸的是,我不懂 JS,无法测试 SpeechSynthesis 是否可以使用 JS。
  • 在我读到的内容中,Chromium >=33 可用,不记得 firefox。
  • 不知道。因为你的问题,我用谷歌搜索了。 updates.html5rocks.com/2014/01/…

标签: dart speech-synthesis dart2js


【解决方案1】:

这不是 Dart 特有的问题。如果您尝试等效的 JavaScript,它也不会在那些浏览器中工作,因为该 API 似乎还没有得到完全支持。但它确实在 Dartium 中工作。

【讨论】:

  • 您知道这些浏览器支持语音合成 API 的日期吗?
  • 刚刚在 Chrome 33 beta 中测试了 api,它就像一个魅力。
猜你喜欢
  • 2018-05-05
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 2011-04-22
相关资源
最近更新 更多