我有一组图像,我希望通过循环运行它们,并将其保存为sdcard中的视频文件。我可以使用android中的默认实用程序吗? ?任何能满足我要求的图书馆。 ?
答案 0 :(得分:2)
您需要一个库来创建这些。这里有一些关于此的帖子:
教程:
答案 1 :(得分:0)
没有内置的Android
库支持此功能。 This SO post建议使用通过Java端口或使用ffmpeg
在C / C ++中编写的Android NDK
。
答案 2 :(得分:0)
在您的android项目中使用Java javacpp.jar
和javacv.jar
创建一系列图像到视频
以下代码用于制作视频
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();
}
答案 3 :(得分:-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();