PalActivity.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package io.github.sdlpal;
  2. import org.libsdl.app.SDLActivity;
  3. import android.os.*;
  4. import android.util.*;
  5. import android.media.*;
  6. import android.net.Uri;
  7. import java.io.*;
  8. import java.util.*;
  9. public class PalActivity extends SDLActivity {
  10. private static final String TAG = "sdlpal-debug";
  11. private static MediaPlayer mediaPlayer;
  12. private static int screenWidth, screenHeight;
  13. private static MediaPlayer JNI_mediaplayer_load(String filename){
  14. Log.v(TAG, "loading midi:" + filename);
  15. MediaPlayer mediaPlayer = new MediaPlayer();
  16. mediaPlayer.reset();
  17. try {
  18. mediaPlayer.setDataSource(mSingleton.getApplicationContext(), Uri.fromFile(new File(filename)));
  19. mediaPlayer.prepare();
  20. } catch(IOException e) {
  21. Log.e(TAG, filename + " not available for playing, check");
  22. }
  23. PalActivity.mediaPlayer = mediaPlayer;
  24. return mediaPlayer;
  25. }
  26. public static native void setExternalStorage(String str);
  27. public static native void setMIDIInterFile(String str);
  28. @Override
  29. public void onCreate(Bundle savedInstanceState) {
  30. super.onCreate(savedInstanceState);
  31. String interFilePath = mSingleton.getApplicationContext().getCacheDir().getPath() + "/intermediates.mid";
  32. Log.v(TAG, "java interfile path " + interFilePath);
  33. setMIDIInterFile(interFilePath);
  34. String externalStorageState = Environment.getExternalStorageState();
  35. if (externalStorageState.equals(Environment.MEDIA_MOUNTED)){
  36. setExternalStorage(Environment.getExternalStorageDirectory().getPath());
  37. Log.v(TAG, "sdcard path " + Environment.getExternalStorageDirectory().getPath());
  38. }
  39. DisplayMetrics metrics = new DisplayMetrics();
  40. getWindowManager().getDefaultDisplay().getMetrics(metrics);
  41. screenWidth = metrics.widthPixels;
  42. screenHeight = metrics.heightPixels;
  43. }
  44. @Override
  45. protected void onPause() {
  46. if (!this.isFinishing() && mediaPlayer != null) {
  47. mediaPlayer.pause();
  48. }
  49. super.onPause();
  50. }
  51. @Override
  52. protected void onResume() {
  53. if (mediaPlayer != null) {
  54. mediaPlayer.start();
  55. }
  56. super.onResume();
  57. }
  58. }