在android中使用ffmpeg录制视频

在android中使用ffmpeg录制视频,android,ffmpeg,Android,Ffmpeg,我正在学习android库的ffmpeg,无法理解部分代码 public void onPreviewFrame(byte[] data, Camera camera) { if (audioRecord == null || audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING) { startTime = System.currentTimeMillis();

我正在学习android库的ffmpeg,无法理解部分代码

public void onPreviewFrame(byte[] data, Camera camera)
{ 
    if (audioRecord == null || audioRecord.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING)
    {
         startTime = System.currentTimeMillis();
         return;
    }

    if (RECORD_LENGTH > 0) {
        int i = imagesIndex++ % images.length;
        yuvImage = images[i];
        timestamps[i] = 1000 * (System.currentTimeMillis() - startTime);
    }

//till here i was able to understand but the first statement is for what purpose?

    /* get video data */
    if (yuvImage != null && recording) {
        ((ByteBuffer)yuvImage.image[0].position(0)).put(data);
    }
}

如果像中一样提供cameraCallbacks,则onPreviewFrame是一个重写方法

mCamera.setPreviewCallbackWithBuffer(new PreviewCallback() {
    public void onPreviewFrame(byte[] imageData, Camera arg1) {
        <<<Your logic here>>>
  }
  }
mCamera.setPreviewCallbackWithBuffer(新的PreviewCallback(){
预览帧上的公共无效(字节[]图像数据,相机arg1){
}
}
请参考此链接