gpt4 book ai didi

android - 如何在canvas中记录用户的操作并在android中保存为视频文件?

转载 作者:太空狗 更新时间:2023-10-29 15:28:37 24 4
gpt4 key购买 nike

我实现了绘画功能。我想记录用户的操作并保存为视频文件。就像 IPAD 中的应用程序“SHOW ME”。我该怎么做?

最佳答案

您可以使用以下代码截取您自己的应用程序的屏幕截图(根据您的应用程序进行少许修改):

public class AndroidWebImage extends Activity {

ImageView bmImage;
LinearLayout view;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

view = (LinearLayout)findViewById(R.id.screen);
bmImage = (ImageView)findViewById(R.id.image);

view.setDrawingCacheEnabled(true);
// this is the important code :)
// Without it the view will have a dimension of 0,0 and the bitmap will be null

view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));

view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());

view.buildDrawingCache(true);
Bitmap b = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false); // clear drawing cache

bmImage.setImageBitmap(b);

};


}

我使用了以下 xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/screen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<ImageView
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>

使用 Timer 在固定的时间间隔截取屏幕截图,然后将这一系列图像转换为视频文件,例如:create-a-video-file-from-images-using-ffmpeg

关于android - 如何在canvas中记录用户的操作并在android中保存为视频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10844714/

24 4 0
文章推荐: android - 使用 valgrind 启动 android 应用程序
文章推荐: c - 这是将 va_arg 与函数指针一起使用的正确方法吗?
文章推荐: C - charArray 总是与 &charArray 相同吗?
文章推荐: javascript - 将
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com