我已经做了一个imageView
动画从屏幕的一边到另一边。下面是java代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView imageView = findViewById(R.id.imageView);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
handleAnimation(imageView);
}
});
}
public void handleAnimation(View view) {
ObjectAnimator animatorX = ObjectAnimator.ofFloat(view, "x", 1000f);
animatorX.setDuration(2000);
animatorX.start();
}
}
这是用户单击ANIMATE
按钮时看到的内容:
现在我的问题是,我如何通过捕捉动画imageView
来制作一个视频文件?
编辑:
我需要的是:我想做一个应用程序,从用户那里拍一些照片,在照片上做一些动画和一些效果,还把它们和所需的声音混合在一起,最后导出一个视频剪辑。当然,如果可以的话,我宁愿把所有这些东西都隐藏起来。
2条答案
按热度按时间q7solyqu1#
你必须录制你的屏幕,然后使用你的视图的
xy
坐标来裁剪视频。你可以在android(5)和更高版本上使用MediaProject API
来录制你的屏幕。完成后,只需调用
mMediaProjection.stop()
以完成录制并将视频保存为tmp
,然后您可以使用FFmpeg在视图所在的xy
坐标处裁剪视频其中选项如下:
out_w
是输出矩形的宽度out_h
是输出矩形的高度x
和y
指定输出矩形的左上角所以在你的情况下
kkih6yb82#
有两种可能的方法来存档此文件。
1-您可以通过使用**javacv库(FFmpeg)**合并从视图中获取的一组位图来实现此操作
使用此库的所有代码都是here
2-您可以使用此链接录制屏幕并根据需要使用。
Screen Recorder