Answers:
使用LibGDX播放视频已被定义为超出项目范围。所以没有,你可以使用LibGDX无法播放视频。
但是,这并不排除编写特定于Android的代码以播放视频的可能性。这仅意味着您的应用程序将无法保持LibGDX的可移植性。
正如Byte56所说,在libGDX中,您不能播放视频:(所以我这样做了:
我创建了一个新活动“ SplashScreen”
public class SplashScreen extends Activity implements OnCompletionListener
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
String fileName = "android.resource://"+ getPackageName() +"/raw/video";
VideoView vv = (VideoView) this.findViewById(R.id.surface);
vv.setVideoURI(Uri.parse(fileName));
vv.setOnCompletionListener(this);
vv.start();
}
@Override
public void onCompletion(MediaPlayer mp)
{
// TODO Auto-generated method stub
Intent intent = new Intent(this, libgdx.class);
startActivity(intent);
finish();
}
}
在“ onCompletion”方法中,我使用意图来调用新活动,在该活动中,“ initialize”调用使libGDX引擎起作用
以及videoView的新布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<VideoView
android:id="@+id/surface"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center" >
</VideoView>
</LinearLayout>
这是一种播放方式:libname是“ indiespot-media-0.8.09.jar”,您可以在此处获得。
如何使用:
player = new MoviePlayer(videoFile);
Texure playerTexture = new Texture(
player.movie.width(),
player.movie.height(),
Pixmap.Format.RGBA8888) {
@Override
public void bind() {
Gdx.gl.glBindTexture(0, player.textureHandle);
}
};
playerTexture
照常使用