Index: chrome/browser/resources/app_list/audio_manager.js |
diff --git a/chrome/browser/resources/app_list/audio_manager.js b/chrome/browser/resources/app_list/audio_manager.js |
deleted file mode 100644 |
index aa6beb0a2a39ab08df43909c49b5344208284255..0000000000000000000000000000000000000000 |
--- a/chrome/browser/resources/app_list/audio_manager.js |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-// Copyright 2013 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. |
- |
-/** |
- * @fileoverview The manager of audio streams. |
- */ |
- |
-cr.define('speech', function() { |
- 'use strict'; |
- |
- /** |
- * The enum of the status of hotword audio recognition. |
- * |
- * @enum {number} |
- */ |
- var AudioState = { |
- STOPPED: 0, |
- LISTENING: 1 |
- }; |
- |
- /** |
- * @constructor |
- * @extends {cr.EventTarget} |
- */ |
- function AudioManager() { |
- var audioContext = new window.AudioContext(); |
- this.sampleRate = audioContext.sampleRate; |
- this.audioProc_ = null; |
- this.audioIn_ = null; |
- this.stream_ = null; |
- this.state = AudioState.STOPPED; |
- }; |
- |
- AudioManager.prototype.__proto__ = cr.EventTarget.prototype; |
- |
- /** |
- * Called when the audio data arrives. |
- * |
- * @param {Event} audioEvent The audio event. |
- * @private |
- */ |
- AudioManager.prototype.onAudioProcess_ = function(audioEvent) { |
- var data = audioEvent.inputBuffer.getChannelData(0); |
- var intData = new Int16Array(data.length); |
- for (var i = 0; i < data.length; ++i) |
- intData[i] = Math.round(data[i] * 32767); |
- var event = new Event('audio'); |
- event.data = intData; |
- this.dispatchEvent(event); |
- }; |
- |
- /** |
- * Called when the audio stream is ready. |
- * |
- * @param {MediaStream} stream The media stream which is now available. |
- * @private |
- */ |
- AudioManager.prototype.onAudioReady_ = function(stream) { |
- var audioContext = new window.AudioContext(); |
- this.stream_ = stream; |
- this.audioIn_ = audioContext.createMediaStreamSource(stream); |
- this.audioProc_ = audioContext.createScriptProcessor( |
- 4096 /* buffer size */, 1 /* channels */, 1 /* channels */); |
- this.audioProc_.onaudioprocess = this.onAudioProcess_.bind(this); |
- |
- this.audioIn_.connect(this.audioProc_); |
- this.audioProc_.connect(audioContext.destination); |
- this.state = AudioState.LISTENING; |
- }; |
- |
- /** |
- * Starts the audio processing. |
- */ |
- AudioManager.prototype.start = function() { |
- if (this.state == AudioState.LISTENING) |
- return; |
- |
- navigator.webkitGetUserMedia( |
- {audio: true}, |
- this.onAudioReady_.bind(this), |
- function(msg) { console.error('Failed to getUserMedia: ' + msg); }); |
- }; |
- |
- /** |
- * Stops the audio processing. |
- */ |
- AudioManager.prototype.stop = function() { |
- if (this.state != AudioState.LISTENING) |
- return; |
- this.audioProc_.disconnect(); |
- this.audioIn_.disconnect(); |
- var audioTracks = this.stream_.getAudioTracks(); |
- for (var i = 0; i < audioTracks.length; ++i) { |
- audioTracks[i].stop(); |
- } |
- this.audioProc_ = null; |
- this.audioIn_ = null; |
- this.stream_ = null; |
- this.state = AudioState.STOPPED; |
- }; |
- |
- return { |
- AudioManager: AudioManager, |
- AudioState: AudioState |
- }; |
-}); |