Відповіді:
Відтворення відео з 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" я використовую наміри викликати свою нову діяльність, коли виклик "ініціалізувати" для роботи двигуна 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
як звичайну текстуру