LibGDX로 비디오 재생


22

LibGDX로 비디오를 재생하는 방법이 있습니까?

Android에서 스플래시 화면으로 비디오를 넣고 싶지만 LibGDX를 사용하고 거의 완료되었으므로 Android SDK를 사용하고 싶지 않습니다.


하십시오 LibGDX 크로스 플랫폼 비디오 렌더링 확장이 github.com/libgdx/gdx-video
tscissors

답변:


12

LibGDX로 비디오를 재생 하는 것은 프로젝트 범위벗어난 것으로 정의 되었습니다 . 그래서 , 당신은 LibGDX를 사용하여 비디오를 재생할 수 없습니다.

그러나 비디오를 재생하기 위해 Android 전용 코드를 작성할 가능성을 배제하지는 않습니다. 그것은 단지 응용 프로그램이 LibGDX의 이식성을 유지하지 않음을 의미합니다.


:( 응답
해줘서

3
나는 안드로이드로 그것을했다 :) 나는 새로운 활동과 새로운 레이아웃을 만들었고, 비디오의 재생이 끝나면, 나는 libGDX를 호출하는 활동을 시작합니다
Rudy_TM

좋은! 그것은 빠르다, 나는 그렇게하기가 너무 힘들지 않았다고 생각한다.
MichaelHouse

1
@Rudy_TM이 답변을 허용 된 답변으로 추가하십시오. 새로운 활동으로 해결할 수 있습니다. 나중에 같은 질문을하는 사람들에게 도움이 될 것입니다.
ashes999

libgdx에서 플랫폼 별 코드를 작성하는 것은 매우 쉽습니다. 즉, 비디오를 즉시 지원하지 않는다고해서 답이 암시하는 것처럼 수행 할 수 없다는 의미는 아닙니다.
Matsemann

20

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>

2
+1이 답변을 게시 해 주셔서 감사합니다. 향후 방문자에게 도움이 될 것입니다.
MichaelHouse

1
당신은 환영합니다 :) 나는 XD를 시도하는 데 이틀을 보냈고 이것이 마지막이었습니다 : P
Rudy_TM

2
항상 마지막이야? 나는 당신이 그 것을 보지 않기 때문에 추측합니다 : p. 또한 거의 완료된 것을 축하합니다!
MichaelHouse

@Rudy_TM libgdx.class 나에게 오류를 줘 (libgdx는 유형으로 해석 될 수 없음), 어떻게 고치는가?
LeSam

2
@ G3tinmybelly 매니페스트에서 스플래시 화면을 MainActivity 대신 런처 활동으로 변경하십시오.
Rudy_TM

-1

재생 방법은 다음과 같습니다. libname은 "indiespot-media-0.8.09.jar"이며 여기에 있습니다 .

사용하는 방법:

  1. 전체 zip 다운로드
  2. 프로젝트 루트에 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);
  }
};
  1. 사용 playerTexture보통의 텍스처
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.