Android源码目录 “/android/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/deprecated/voice”中
VoiceInput.java、SoundIndicator.java、RecognitionView.java。
SoundIndicator.java是一个话筒图片更具说话的声音大小显示不同
RecognitionView.java是语音识别界面
VoiceInput.java中有设置监听语音识别的服务,在不同识别状态下RecognitionView的显示
创建一个新工程SpeachRecognition
将RecognitionView.java和SoundIndicator.java复制到工程中。将需要的布局文件Value值和其他资源文件也一并复制到工程中。同时去掉一些不必要的资源文件比如识别界面中不同识别状态的背景色,并修改以上中用到的代码。
最后就是设置语音识别服务和监听识别,主要代码:
语音识别Listener
private class ImeRecognitionListener implements RecognitionListener
{
// Waveform data
final ByteArrayOutputStream mWaveBuffer = new ByteArrayOutputStream();
int mSpeechStart;
@Override
public void onReadyForSpeech(Bundle noiseParams)
{
mRecognitionView.showListening();
}
@Override
public void onBeginningOfSpeech()
{
mSpeechStart = mWaveBuffer.size();