我正在使用android中使用pocketsphinx語音識別器的個人助理。這是我的應用程序每次聽到特殊字詞時的個人助理會回覆並執行任務的方式。麥克風的釋放我一直有一些問題。我不知道它是否是一個錯誤。它僅在我關閉應用程序時纔會發生,麥克風仍然在查找該單詞並使用文本到語音進行回答。即使屏幕關閉。當我試圖錄制視頻時,表示麥克風被其他應用程序使用。所以我必須再次打開我的應用程序並關閉應用程序以釋放麥克風。據我所知,釋放資源的唯一生命週期是onStop,onPause和onDestroy。它不能是我的手機發生故障我已經使用兩種不同的手機測試了該應用程序,有時它還發生在它們的機器人中。任何幫助,將不勝感激。 這是我釋放麥克風,攝像頭和文本到語音的方式。在此先感謝有時麥克風不會爲其他應用程序發佈
private edu.cmu.pocketsphinx.SpeechRecognizer recognizer;
@Override
public void onPause() {
super.onPause();
if (tts != null) {
tts.shutdown();
}
if (camera != null) {
camera.release();
camera = null;
}
if (recognizer != null) {
recognizer.stop();
recognizer.cancel();
recognizer.shutdown();
recognizer = null;
}
}
@Override
protected void onStop() {
super.onStop();
if (tts != null) {
tts.shutdown();
}
if (camera != null) {
camera.release();
camera = null;
}
if (recognizer != null) {
recognizer.cancel();
recognizer.shutdown();
recognizer = null;
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (tts != null) {
tts.shutdown();
}
if (camera != null) {
camera.release();
camera = null;
}
if (recognizer != null) {
recognizer.cancel();
recognizer.shutdown();
}
}
停止onPause後取消可能不是一個好主意,嘗試只使用取消。 –