我正在使用摄像机帧检测实时人脸,但是一旦检测执行良好,但是如果我破坏了活动并再次运行,则需要花费时间才能完成最后一帧,然后重新开始。成功时,侦听器将继续调用,直到所有帧都未完成。 我想在活动暂停时销毁侦听器。
@Override
public void process(@NonNull Frame frame) {
if (frame.getSize() != null) {
width = frame.getSize().getWidth();
height = frame.getSize().getHeight();
metadata = new FirebaseVisionImageMetadata.Builder()
.setWidth(width)
.setHeight(height)
.setFormat(FirebaseVisionImageMetadata.IMAGE_FORMAT_NV21)
.setRotation(FirebaseVisionImageMetadata.ROTATION_90)
.build();
firebaseVisionImage = FirebaseVisionImage.fromByteArray(frame.getData(), metadata);
faceDetector.detectInImage(firebaseVisionImage).addOnSuccessListener(this).addOnFailureListener(this);
} else {
Log.d(TAG, "Frame Null");
}
}
杀死听众,尽管仍然保留帧以检测人脸