Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1302)

Side by Side Diff: chrome/browser/speech/speech_recognizer.h

Issue 3595018: Language tag for speech. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: rebase. Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SPEECH_SPEECH_RECOGNIZER_H_ 5 #ifndef CHROME_BROWSER_SPEECH_SPEECH_RECOGNIZER_H_
6 #define CHROME_BROWSER_SPEECH_SPEECH_RECOGNIZER_H_ 6 #define CHROME_BROWSER_SPEECH_SPEECH_RECOGNIZER_H_
7 7
8 #include <list> 8 #include <list>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 66
67 // Informs of a change in the captured audio level, useful if displaying 67 // Informs of a change in the captured audio level, useful if displaying
68 // a microphone volume indicator while recording. 68 // a microphone volume indicator while recording.
69 // The value of |volume| is in the [0.0, 1.0] range. 69 // The value of |volume| is in the [0.0, 1.0] range.
70 virtual void SetInputVolume(int caller_id, float volume) = 0; 70 virtual void SetInputVolume(int caller_id, float volume) = 0;
71 71
72 protected: 72 protected:
73 virtual ~Delegate() {} 73 virtual ~Delegate() {}
74 }; 74 };
75 75
76 SpeechRecognizer(Delegate* delegate, int caller_id, 76 SpeechRecognizer(Delegate* delegate,
77 int caller_id,
78 const std::string& language,
77 const std::string& grammar); 79 const std::string& grammar);
78 ~SpeechRecognizer(); 80 ~SpeechRecognizer();
79 81
80 // Starts audio recording and does recognition after recording ends. The same 82 // Starts audio recording and does recognition after recording ends. The same
81 // SpeechRecognizer instance can be used multiple times for speech recognition 83 // SpeechRecognizer instance can be used multiple times for speech recognition
82 // though each recognition request can be made only after the previous one 84 // though each recognition request can be made only after the previous one
83 // completes (i.e. after receiving Delegate::DidCompleteRecognition). 85 // completes (i.e. after receiving Delegate::DidCompleteRecognition).
84 bool StartRecording(); 86 bool StartRecording();
85 87
86 // Stops recording audio and starts recognition. 88 // Stops recording audio and starts recognition.
(...skipping 24 matching lines...) Expand all
111 void ReleaseAudioBuffers(); 113 void ReleaseAudioBuffers();
112 void InformErrorAndCancelRecognition(ErrorCode error); 114 void InformErrorAndCancelRecognition(ErrorCode error);
113 115
114 void HandleOnError(int error_code); // Handles OnError in the IO thread. 116 void HandleOnError(int error_code); // Handles OnError in the IO thread.
115 117
116 // Handles OnData in the IO thread. Takes ownership of |data|. 118 // Handles OnData in the IO thread. Takes ownership of |data|.
117 void HandleOnData(std::string* data); 119 void HandleOnData(std::string* data);
118 120
119 Delegate* delegate_; 121 Delegate* delegate_;
120 int caller_id_; 122 int caller_id_;
123 std::string language_;
121 std::string grammar_; 124 std::string grammar_;
122 125
123 // Buffer holding the recorded audio. Owns the strings inside the list. 126 // Buffer holding the recorded audio. Owns the strings inside the list.
124 typedef std::list<std::string*> AudioBufferQueue; 127 typedef std::list<std::string*> AudioBufferQueue;
125 AudioBufferQueue audio_buffers_; 128 AudioBufferQueue audio_buffers_;
126 129
127 scoped_ptr<SpeechRecognitionRequest> request_; 130 scoped_ptr<SpeechRecognitionRequest> request_;
128 scoped_refptr<media::AudioInputController> audio_controller_; 131 scoped_refptr<media::AudioInputController> audio_controller_;
129 scoped_ptr<SpeexEncoder> encoder_; 132 scoped_ptr<SpeexEncoder> encoder_;
130 Endpointer endpointer_; 133 Endpointer endpointer_;
131 int num_samples_recorded_; 134 int num_samples_recorded_;
132 float audio_level_; 135 float audio_level_;
133 136
134 DISALLOW_COPY_AND_ASSIGN(SpeechRecognizer); 137 DISALLOW_COPY_AND_ASSIGN(SpeechRecognizer);
135 }; 138 };
136 139
137 // This typedef is to workaround the issue with certain versions of 140 // This typedef is to workaround the issue with certain versions of
138 // Visual Studio where it gets confused between multiple Delegate 141 // Visual Studio where it gets confused between multiple Delegate
139 // classes and gives a C2500 error. (I saw this error on the try bots - 142 // classes and gives a C2500 error. (I saw this error on the try bots -
140 // the workaround was not needed for my machine). 143 // the workaround was not needed for my machine).
141 typedef SpeechRecognizer::Delegate SpeechRecognizerDelegate; 144 typedef SpeechRecognizer::Delegate SpeechRecognizerDelegate;
142 145
143 } // namespace speech_input 146 } // namespace speech_input
144 147
145 #endif // CHROME_BROWSER_SPEECH_SPEECH_RECOGNIZER_H_ 148 #endif // CHROME_BROWSER_SPEECH_SPEECH_RECOGNIZER_H_
OLDNEW
« no previous file with comments | « chrome/browser/speech/speech_recognition_request_unittest.cc ('k') | chrome/browser/speech/speech_recognizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698