简体   繁体   中英

Recording video using ffmpeg in android

i was studying ffmpeg for android library,was unable to understand a part of the code.

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

onPreviewFrame is a overridden method if you provide cameraCallbacks as in

mCamera.setPreviewCallbackWithBuffer(new PreviewCallback() {
    public void onPreviewFrame(byte[] imageData, Camera arg1) {
        <<<Your logic here>>>
  }
  }

Please refer this link http://www.programcreek.com/java-api-examples/index.php?api=android.hardware.Camera.PreviewCallback

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM