我有一组图像,我希望通过循环运行它们,并将其保存为 sdcard 中的视频文件。android中是否有我可以使用的默认实用程序。? 任何可以满足我要求的库。?
问问题
10365 次
4 回答
2
于 2013-01-25T12:46:28.257 回答
0
没有Android
支持此功能的内置库。这篇 SO 帖子建议ffmpeg
通过 Java 端口使用用 C/C++ 编写的或使用Android NDK
.
于 2013-01-25T12:49:06.697 回答
0
使用 Javajavacpp.jar
和javacv.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 回答