Камера onPreviewCallback после MediaRecorder.start () - PullRequest
0 голосов
/ 12 сентября 2018

Я запускаю свою камеру, используя следующий код

mSurfaceTexture = new SurfaceTexture(MAGIC_TEXTURE_ID);
sCamera.setPreviewTexture(mSurfaceTexture);
sCamera.startPreview();
sCamera.addCallbackBuffer(mBuffer);
sCamera.setPreviewCallbackWithBuffer(this);

onPreviewFrame отлично работает (вызывается)

@Override
public void onPreviewFrame(byte[] bytes, Camera camera) {
    Log.i(TAG, "onPreviewFrame");

    if (sCamera != null) {
        sCamera.addCallbackBuffer(mBuffer);
    }
}

Затем, когда я запускаю MediaRecorder для записи видео

sCamera.unlock();
mMediaRecorder.setCamera(sCamera);
// ... setup MediaRecorder
mMediaRecorder.start();
try {
    sCamera.reconnect();
} catch (IOException e) {
    e.printStackTrace();
}
sCamera.addCallbackBuffer(mBuffer);
sCamera.setPreviewCallbackWithBuffer(this);

onPreviewFrame перестает работать (больше не вызывается)

...