Я запускаю свою камеру, используя следующий код
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
перестает работать (больше не вызывается)