如何实时销毁FirebaseVisionImage detectInImage侦听器

时间:2019-04-23 09:20:32

标签: android firebase-mlkit

我正在使用摄像机帧检测实时人脸,但是一旦检测执行良好,但是如果我破坏了活动并再次运行,则需要花费时间才能完成最后一帧,然后重新开始。成功时,侦听器将继续调用,直到所有帧都未完成。 我想在活动暂停时销毁侦听器。

@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");
    }
}

杀死听众,尽管仍然保留帧以检测人脸

0 个答案:

没有答案