PalActivity.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package io.github.sdlpal;
  2. import org.libsdl.app.SDLActivity;
  3. import android.content.Intent;
  4. import android.os.*;
  5. import android.util.*;
  6. import android.media.*;
  7. import android.net.Uri;
  8. import java.io.*;
  9. public class PalActivity extends SDLActivity {
  10. private static final String TAG = "sdlpal-debug";
  11. private static MediaPlayer mediaPlayer;
  12. public static native void setScreenSize(int width, int height);
  13. public static boolean crashed = false;
  14. private static MediaPlayer JNI_mediaplayer_load(String filename){
  15. Log.v(TAG, "loading midi:" + filename);
  16. MediaPlayer mediaPlayer = new MediaPlayer();
  17. mediaPlayer.reset();
  18. try {
  19. mediaPlayer.setDataSource(mSingleton.getApplicationContext(), Uri.fromFile(new File(filename)));
  20. mediaPlayer.prepare();
  21. } catch(IOException e) {
  22. Log.e(TAG, filename + " not available for playing, check");
  23. }
  24. PalActivity.mediaPlayer = mediaPlayer;
  25. return mediaPlayer;
  26. }
  27. @Override
  28. public void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. DisplayMetrics metrics = new DisplayMetrics();
  31. getWindowManager().getDefaultDisplay().getMetrics(metrics);
  32. setScreenSize(metrics.widthPixels, metrics.heightPixels);
  33. }
  34. @Override
  35. public void onDestroy() {
  36. super.onDestroy();
  37. }
  38. @Override
  39. protected void onPause() {
  40. if (!this.isFinishing() && mediaPlayer != null) {
  41. mediaPlayer.pause();
  42. }
  43. super.onPause();
  44. }
  45. @Override
  46. protected void onResume() {
  47. if (mediaPlayer != null) {
  48. mediaPlayer.start();
  49. }
  50. super.onResume();
  51. }
  52. }