LibGDXでビデオを再生する


22

LibGDXでビデオを再生する方法はありますか?

Androidでスプラッシュスクリーンとしてビデオを配置したいのですが、Android SDKを使用したくありません。


LibGDXクロスプラットフォームビデオレンダリング拡張機能があります:github.com/libgdx/gdx-video
tscissors

回答:


12

LibGDXでのビデオの再生は、プロジェクトの範囲外として定義されています。だから、いいえ、あなたはLibGDXを使用して動画を再生することはできません。

ただし、動画を再生するためにAndroid固有のコードを記述する可能性を排除するものではありません。アプリケーションがLibGDXの移植性を維持しないことを意味します。


:(
はい

3
私は新しい活動と新しいレイアウトを作成し、動画はその再生を終了したときに、私はlibGDXへの呼び出しを持って活動を開始アンドロイド:)私にそれをやった
Rudy_TM

いいね!それは速かった、やるのはそれほど難しくなかったと思う。
マイケルハウス

1
@Rudy_TMは、これを受け入れられた答えとして追加してください-新しいアクティビティでそれを回避しました。それは後で同じ質問をしている他の人を助けるでしょう。
ashes999

プラットフォーム固有のコードをlibgdxで作成するのは非常に簡単です。そのため、そのままのビデオをサポートしていないからといって、答えが示すように、実行できないというわけではありません。
マツマン

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エンジンの「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>

2
+1この回答を投稿していただき、ありがとうございます。今後の訪問者の役に立つでしょう。
マイケルハウス

1
どういたしまして:) 2日間さまざまなXDを試してみましたが、これが最後の1
でした

2
いつも最後ですよね?あなたはそれの世話をやめるからだと思います:p。また、ほぼ完了しました!
マイケルハウス

@Rudy_TM libgdx.classでエラーが発生します(libgdxを型に解決できません)。修正方法は?
レサム14

2
マニフェストの@ G3tinmybellyは、スプラッシュスクリーンをMainActivityではなくランチャーアクティビティに変更します。
Rudy_TM 14年

-1

これがプレイ方法です:libnameは "indiespot-media-0.8.09.jar"で、ここから入手できます

使い方:

  1. 完全なzipをダウンロード
  2. プロジェクトのルートにあるlibフォルダーをコピーします(ffmpegはlibによってパス./lib/ffmpeg/ffmpeg@os postfix @で開かれます)
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.