C'è un modo per riprodurre video con LibGDX?
Voglio mettere un video come schermata iniziale in Android, ma non voglio usare Android SDK, perché sto usando LibGDX e ho quasi finito: /
C'è un modo per riprodurre video con LibGDX?
Voglio mettere un video come schermata iniziale in Android, ma non voglio usare Android SDK, perché sto usando LibGDX e ho quasi finito: /
Risposte:
La riproduzione di video con LibGDX è stata definita come fuori campo per il progetto. Quindi no , non puoi riprodurre video usando LibGDX.
Ciò non esclude tuttavia la possibilità di scrivere codice specifico per Android per riprodurre video. Significa solo che l'applicazione non manterrà la portabilità di LibGDX.
Come ha detto Byte56, in libGDX non puoi riprodurre video :( quindi ho fatto questo:
Ho creato una nuova attività "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();
}
}
Nel metodo "onCompletion", uso l'intento di chiamare la mia nuova attività in cui la chiamata "inizializza" per far funzionare il motore libGDX
E un nuovo layout per il 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>
Questo è il modo di giocare: libname è "indiespot-media-0.8.09.jar" che puoi trovare qui .
Come usare:
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
come al solito consistenza