4

我有一组图像,我希望通过循环运行它们,并将其保存为 sdcard 中的视频文件。android中是否有我可以使用的默认实用程序。? 任何可以满足我要求的库。?

4

4 回答 4

2

您需要一个库来创建这些。这里有一些关于此的帖子:

用于创建视频的 Java 包

使用 Xuggler 创建视频

教程 :

从 Xuggler 创建视频的教程

于 2013-01-25T12:46:28.257 回答
0

没有Android支持此功能的内置库。这篇 SO 帖子建议ffmpeg通过 Java 端口使用用 C/C++ 编写的或使用Android NDK.

于 2013-01-25T12:49:06.697 回答
0

使用 Javajavacpp.jarjavacv.jar在您的 android 项目中创建一系列图像到视频

下面的代码用于创建视频

recorder = new FFmpegFrameRecorder("Videofilename", 480, 480);

try {
    recorder.setVideoCodec(13);
    recorder.setFrameRate(0.4d);
    recorder.setPixelFormat(0);
    recorder.setVideoQuality(1.0d);
    recorder.setVideoBitrate(4000);

    startTime = System.currentTimeMillis();
    recorder.start();

    int time = Integer.parseInt(params[0]);
    resp = "Slept for " + time + " milliseconds";

    for (int i = 0; i < iplimage.length; i++) {
        long t = 1000 * (System.currentTimeMillis() - startTime);
        if (t < recorder.getTimestamp()) {
            t = recorder.getTimestamp() + 1000;
        }
        recorder.setTimestamp(t);
        recorder.record(iplimage[i]);
    }
} catch (Exception e) {
    e.printStackTrace();
}
于 2017-02-14T09:07:06.167 回答
-2

用于创建逐帧动画的对象,由一系列 Drawable 对象定义,可用作 View 对象的背景。

创建逐帧动画的最简单方法是在 XML 文件中定义动画,放在 res/drawable/ 文件夹中,并将其设置为 View 对象的背景。然后,调用 start() 运行动画。

XML 中定义的 AnimationDrawable 由单个元素和一系列嵌套标签组成。每个项目定义动画的一帧。请参见下面的示例。

res/drawable/ 文件夹中的 spin_animation.xml 文件:

<!-- Animation frames are wheel0.png -- wheel5.png files inside the
 res/drawable/ folder -->
 <animation-list android:id="@+id/selected" android:oneshot="false">
    <item android:drawable="@drawable/wheel0" android:duration="50" />
    <item android:drawable="@drawable/wheel1" android:duration="50" />
    <item android:drawable="@drawable/wheel2" android:duration="50" />
    <item android:drawable="@drawable/wheel3" android:duration="50" />
    <item android:drawable="@drawable/wheel4" android:duration="50" />
    <item android:drawable="@drawable/wheel5" android:duration="50" />
 </animation-list>

这是加载和播放此动画的代码。

 // Load the ImageView that will host the animation and
 // set its background to our AnimationDrawable XML resource.
 ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
 img.setBackgroundResource(R.drawable.spin_animation);

 // Get the background, which has been compiled to an AnimationDrawable object.
 AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

 // Start the animation (looped playback by default).
 frameAnimation.start();
于 2013-01-25T12:52:44.867 回答