Réponses:
La lecture de vidéo avec LibGDX a été définie comme étant hors de portée du projet. Donc non , vous ne pouvez pas lire de vidéos avec LibGDX.
Cela n'empêche pas la possibilité d'écrire du code spécifique à Android pour lire des vidéos. Cela signifie simplement que votre application ne maintiendra pas la portabilité de LibGDX.
Comme l'a dit Byte56, dans libGDX, vous ne pouvez pas lire de vidéos :( j'ai donc fait ceci:
J'ai créé une nouvelle activité "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();
}
}
Dans la méthode "onCompletion", j'utilise l'intention d'appeler ma nouvelle activité où l'appel "initialize" pour que le moteur libGDX fonctionne
Et une nouvelle mise en page pour la vidéo
<?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>
Voici comment jouer: libname est "indiespot-media-0.8.09.jar" que vous pouvez obtenir ici .
Comment utiliser:
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
comme texture habituelle