Gibt es eine Möglichkeit, Videos mit LibGDX abzuspielen?
Ich möchte ein Video als Begrüßungsbildschirm in Android einfügen, aber ich möchte das Android SDK nicht verwenden, da ich LibGDX verwende und fast fertig bin: /
Gibt es eine Möglichkeit, Videos mit LibGDX abzuspielen?
Ich möchte ein Video als Begrüßungsbildschirm in Android einfügen, aber ich möchte das Android SDK nicht verwenden, da ich LibGDX verwende und fast fertig bin: /
Antworten:
Das Abspielen von Videos mit LibGDX wurde für das Projekt als nicht zulässig definiert . Also nein , können Sie keine Videos mit Libgdx spielen.
Dies schließt jedoch nicht die Möglichkeit aus, Android-spezifischen Code zum Abspielen von Videos zu schreiben. Es bedeutet nur, dass Ihre Anwendung die Portabilität von LibGDX nicht aufrechterhält.
Wie Byte56 sagte, kann man in libGDX keine Videos abspielen :( also habe ich das gemacht:
Ich habe eine neue Aktivität "SplashScreen" erstellt
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();
}
}
Bei der Methode "onCompletion" verwende ich die Absicht, meine neue Aktivität aufzurufen, bei der der Aufruf "initialize" für die Funktionsfähigkeit der libGDX-Engine erfolgt
Und ein neues Layout für das 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>
Dies ist der Weg zu spielen: libname ist "indiespot-media-0.8.09.jar", den Sie hier bekommen können .
Wie benutzt man:
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
wie gewohnt Textur