PalActivity.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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 JNI_mediaplayer_load(String filename){
  12. Log.v(TAG, "loading midi:" + filename);
  13. MediaPlayer mediaPlayer = new MediaPlayer();
  14. mediaPlayer.reset();
  15. try {
  16. mediaPlayer.setDataSource(mSingleton.getApplicationContext(), Uri.fromFile(new File(filename)));
  17. mediaPlayer.prepare();
  18. } catch(IOException e) {
  19. Log.e(TAG, filename + " not available for playing, check");
  20. }
  21. return mediaPlayer;
  22. }
  23. public static native void setExternalStorage(String str);
  24. public static native void setMIDIInterFile(String str);
  25. @Override
  26. public void onCreate(Bundle savedInstanceState) {
  27. super.onCreate(savedInstanceState);
  28. String appDataPath = mSingleton.getApplicationContext().getCacheDir().getPath();
  29. String interFilePath = appDataPath+"/intermediates.midi";
  30. Log.v(TAG, "java interfile path " + interFilePath);
  31. setMIDIInterFile(interFilePath);
  32. String externalStorageState = Environment.getExternalStorageState();
  33. if (externalStorageState.equals(Environment.MEDIA_MOUNTED)){
  34. setExternalStorage(Environment.getExternalStorageDirectory().getPath());
  35. Log.v(TAG, "sdcard path " + Environment.getExternalStorageDirectory().getPath());
  36. }
  37. }
  38. @Override
  39. protected void onPause() {
  40. if (!this.isFinishing()){
  41. mediaPlayer.pause();
  42. }
  43. super.onPause();
  44. }
  45. @Override
  46. protected void onResume() {
  47. mediaPlayer.start();
  48. super.onResume();
  49. }
  50. }