0
我在嘗試設計可以錄製語音並將語音同時轉換爲文本的應用程序時遇到了此錯誤。我已經將Google API用於語音識別部分和audioRecorder對象進行錄製。它沒有工作,因此我轉而使用onBufferReceived()來檢索過程中的字節(當用戶說話時)。 Google API代碼現在位於我的代碼的onResults()部分,該代碼在沒有UI的情況下進行語音識別。語音識別和錄音
下面的代碼
class listener implements RecognitionListener
{
public void onBufferReceived(byte[] buffer)
{
bufferBytes = buffer;
// capturing the buffer into bufferBytes static variable as the user speaks
try {
bos = new BufferedOutputStream(fos);
bos.write(buffer);
} catch (Exception e) {
e.printStackTrace();
}
finally{
if(bos != null){
try{
bos.flush();
bos.close();
}catch(Exception e){}
}
}
}
public void onEndOfSpeech()
{
speakButton.setText(getString(R.string.Speak));
Log.d(TAG, "onEndofSpeech");
}
public void onError(int error)
{
Log.d(TAG, "error " + error);
mSendText.setVisibility(View.VISIBLE);
mSendText.setText("error retriving text, please once check your Data Connection ");
}
public void onResults(Bundle results)
{
String str = new String();
Log.d(TAG, "onResults " + results);
ArrayList data = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
for (int i = 0; i < data.size(); i++)
{
Log.d(TAG, "result " + data.get(i));
str += data.get(i);
}
mSendText.setVisibility(View.VISIBLE);
mSendText.setText(data.get(0)+"");
}
}