在android中使用ffmpeg录制视频
我正在学习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();
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){
}
}
请参考此链接