summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/docs/examples/api/speechInput/basic/background.js
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/extensions/docs/examples/api/speechInput/basic/background.js')
-rw-r--r--chrome/common/extensions/docs/examples/api/speechInput/basic/background.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/chrome/common/extensions/docs/examples/api/speechInput/basic/background.js b/chrome/common/extensions/docs/examples/api/speechInput/basic/background.js
new file mode 100644
index 0000000..3093b6c
--- /dev/null
+++ b/chrome/common/extensions/docs/examples/api/speechInput/basic/background.js
@@ -0,0 +1,41 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function setStartIcon() {
+ chrome.browserAction.setIcon({ path: "start.png" });
+}
+
+function setStopIcon() {
+ chrome.browserAction.setIcon({ path: "stop.png" });
+}
+
+chrome.browserAction.onClicked.addListener(function(tab) {
+ chrome.experimental.speechInput.isRecording(function(recording) {
+ if (!recording) {
+ chrome.experimental.speechInput.start({}, function() {
+ if (chrome.extension.lastError) {
+ alert("Couldn't start speech input: " +
+ chrome.extension.lastError.message);
+ setStartIcon();
+ } else {
+ setStopIcon();
+ }
+ });
+ } else {
+ chrome.experimental.speechInput.stop(function() {
+ setStartIcon();
+ });
+ }
+ });
+});
+
+chrome.experimental.speechInput.onError.addListener(function(error) {
+ alert("Speech input failed: " + error.code);
+ setStartIcon();
+});
+
+chrome.experimental.speechInput.onResult.addListener(function(result) {
+ alert(result.hypotheses[0].utterance);
+ setStartIcon();
+});