Có cách nào để phát video với LibGDX không?
Tôi muốn đặt video làm màn hình giật gân của mình trong Android, nhưng tôi không muốn sử dụng SDK Android, vì tôi đang sử dụng LibGDX và tôi sắp hoàn thành: /
Có cách nào để phát video với LibGDX không?
Tôi muốn đặt video làm màn hình giật gân của mình trong Android, nhưng tôi không muốn sử dụng SDK Android, vì tôi đang sử dụng LibGDX và tôi sắp hoàn thành: /
Câu trả lời:
Phát video với LibGDX đã được xác định là nằm ngoài phạm vi của dự án. Vì vậy, không , bạn không thể phát video bằng LibGDX.
Điều này không loại trừ khả năng viết mã cụ thể cho Android để phát video. Điều đó chỉ có nghĩa là ứng dụng của bạn sẽ không duy trì tính di động của LibGDX.
Như Byte56 đã nói, trong libGDX, bạn không thể phát video :( vì vậy tôi đã làm điều này:
Tôi đã tạo một hoạt động mới "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();
}
}
Trong phương thức "onCompletion", tôi sử dụng ý định gọi hoạt động mới của mình trong đó lệnh gọi "khởi tạo" để công cụ libGDX hoạt động
Và một bố cục mới cho 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>
Đây là cách chơi: libname là "indiespot-media-0.8.09.jar" mà bạn có thể lấy ở đây .
Cách sử dụng:
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
như kết cấu thông thường