アンドロイドのpocketsphinx音声認識機能を使用しているパーソナルアシスタントで働いています。これは、特別な言葉が聞かれるたびに私のアプリが動作する方法です。パーソナルアシスタントが返答して仕事をします。私はマイクのリリースにいくつか問題がありました。それがバグかどうかはわかりません。マイクがまだその単語を探していて、テキストを使って答えるアプリケーションを閉じると、ときどき発生するだけです。画面が消えていても。ビデオを録音しようとすると、マイクは別のアプリケーションで使用されています。だから私は再びマイアプリを開いて、マイクを解放するためにアプリを閉じる必要があります。私の知る限り、リソースを解放するライフサイクルはonStop、onPause、およびonDestroyだけです。それは誤動作している私の携帯電話にすることはできません私は2つの異なる携帯電話でアプリケーションをテストし、まだ時々それは彼らのボットで起こる。どんな助けもありがとう。 これは、マイク、カメラ、およびテキストを音声から解放する方法です。事前に感謝他のアプリのためにマイクロフォンが公開されないことがあります
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の停止後にキャンセルするのはおそらく良い考えではありません。 –