回答:
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エンジンの「initialize」呼び出しが機能する新しいアクティビティを呼び出します
そして、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
通常のテクスチャとして使用