2015-10-07 2 views
0

Я создаю приложение для обнаружения лиц. Когда я пытаюсь запустить обнаружение лица, я получаю следующее сообщение об ошибке:Ошибка при доступе к ByteBuffer при попытке начать обнаружение лица

E/NativeFaceDetectorImpl: Native face detection failed 
E/NativeFaceDetectorImpl: java.lang.RuntimeException: Error accessing ByteBuffer. 

Вот часть моего кода:

Context context = getApplicationContext(); 
    FaceDetector detector = new FaceDetector.Builder(context) 
      .setClassificationType(FaceDetector.ALL_CLASSIFICATIONS) 
      .setMode(FaceDetector.ACCURATE_MODE) 
      .build(); 

    detector.setProcessor(
      new MultiProcessor.Builder<>(new FaceTrackerFactory()) 
        .build()); 

    if (!detector.isOperational()) { 
     Log.w(TAG, "Face detector dependencies are not yet available."); 
    } 

    mCameraSource = new CameraSource.Builder(context, detector) 
      .setFacing(CameraSource.CAMERA_FACING_BACK) 
      .setRequestedFps(30.0f) 
      .build(); 

отображается ошибка, когда я mCameraSource.start(), даже если при этом ошибка не обнаруживается, и приложение не падает, оно просто отображает эту ошибку повторно на консоли.

+1

Какую версию Android и сервисов Google Play вы используете? Кажется, я помню, что такая проблема была связана с использованием Gingerbread и Google Play Services 7.8. Если это одна и та же проблема, ее следует исправить, если вы используете Google Play Services 8.1. – pm0733464

+0

Я использую Google Play Services версии 8.1 и компиляцию для Android API 19, поэтому я думаю, что это не проблема: / –

ответ

0

Так что я смог выяснить, в чем проблема. Я пытался скомпилировать приложение для Android API 19 с помощью API Mobile Vision из версии 8.1.0 в Службах Google Play. Это было в моем build.gradle и он не работает:

dependencies { 
    compile 'com.google.android.gms:play-services-vision:8.1.0' 
} 

android { 
    compileSdkVersion 19 
} 

Я switchted до версии 7.8 сервисов Google Play и теперь работает отлично.

dependencies { 
    compile 'com.google.android.gms:play-services-vision:7.8.+' 
} 

android { 
    compileSdkVersion 19 
} 

отметить также, что у меня был еще один подобный проект с компиляцией для Android API 23 и для этой версии, Google Play Services 8.1 работает.

dependencies { 
    compile 'com.google.android.gms:play-services-vision:8.1.0' 
} 

android { 
    compileSdkVersion 23 
} 
Смежные вопросы