LibGDX로 비디오를 재생하는 방법이 있습니까?
Android에서 스플래시 화면으로 비디오를 넣고 싶지만 LibGDX를 사용하고 거의 완료되었으므로 Android SDK를 사용하고 싶지 않습니다.
답변
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”이며 여기에 있습니다 .
사용하는 방법:
- 전체 zip 다운로드
- 프로젝트 루트에 lib 폴더 복사 (ffmpeg는 경로가 ./lib/ffmpeg/ffmpeg@os postfix @ 인 lib에 의해 열립니다)
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
보통의 텍스처