Написал на Android studio функцию для записи видео, как такое же сделать в unity?
Пытаюсь написать плагин для unity что бы можно было снять видео, в обычной версии все хорошо, но как это все перенести в плагин не пойму.
Создал текстуру в юнити
texture2D = new Texture2D(100, 100);
for (int i = 0; i < texture2D.width; i++)
{
for (int j = 0; j < texture2D.height; j++)
texture2D.SetPixel(i, j, Color.green);
}
texture2D.filterMode = FilterMode.Bilinear;
texture2D.wrapMode = TextureWrapMode.Clamp;
texture2D.Apply();
if(texture2D) {
renderer = ScreenVideo.GetComponent<RawImage>();
renderer.texture = texture2D;
}
Как передать изображение с камеры в текстуру? И не запускается textureListener в плагине
textureView = new TextureView(this);
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
textureView.setLayoutParams(params);
setContentView(textureView, params);
TextureView.SurfaceTextureListener textureListener = new TextureView.SurfaceTextureListener() {
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
//open your camera here
try {
camera.setPreviewTexture(surface);
camera.startPreview();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
// Transform you image captured size according to the surface width and height
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
};
textureView.setSurfaceTextureListener(textureListener);
File file_path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
videoFile = new File(file_path, "myvideo.mp4");
Comment