使用LibGDX播放视频


Answers:


12

使用LibGDX播放视频已被定义为超出项目范围。所以没有,你可以使用LibGDX无法播放视频。

但是,这并不排除编写特定于Android的代码以播放视频的可能性。这仅意味着您的应用程序将无法保持LibGDX的可移植性。


:(好的,谢谢你的回答:/我想我必须使用Android SDK,谢谢:)
Rudy_TM 2012年

3
我使用Android进行了此操作:)我创建了一个新的Activity和一个新的Layout,并且当视频播放完毕后,我开始调用libGDX的活动
Rudy_TM 2012年

真好!那很快,我想毕竟做起来并不难。
MichaelHouse

1
@Rudy_TM,请将其添加为可接受的答案-您通过新的Activity解决了它。这将对以后有相同问题的其他人有所帮助。
ashes999 2012年

在libgdx中编写特定于平台的代码非常容易,因此,正如您的回答所暗示的那样,仅因为它不支持开箱即用的视频并不意味着它无法完成。
Matsemann 2012年

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”方法中,我使用意图来调用新活动,在该活动中,“ initialize”调用使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 2012年

2
永远是最后一个权利吗?我想是因为您停止了:p。也祝贺您即将完成!
MichaelHouse

@Rudy_TM libgdx.class给我一个错误(libgdx无法解析为类型),如何解决?
LeSam 2014年

2
您清单中的@ G3tinmybelly将启动屏幕更改为启动器活动,而不是MainActivity,
Rudy_TM 2014年

-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照常使用
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.