Минимальное фатальное исключение

Я запускаю Processing 2.02 в Windows 8, у меня установлена ​​jre 7, запущен эмулятор, созданный для уровня API 11, с использованием последней версии Minim (по состоянию на 20.09.2013). Я написал тестовый скетч, чтобы убедиться, что могу запустить эмулятор (холст 100x100 зеленого цвета с простой нарисованной линией). Это работает. Затем я написал скетч, чтобы проверить, как Minim воспроизводит звуковой фрагмент в формате mp3. Файл mp3 весит около 201 КБ и находится в папке с данными. Скетч работает в java, но не работает, когда я переключаюсь в режим Android.

Может кто-нибудь, пожалуйста, помогите мне запустить его. Заранее спасибо.

Ниже приведен скетч и ошибка, которую я получил.

***Обработка эскиза: >

  // libraries
  import dff.minim.*;

  // audio variables
  Minim myMinim;>
  AudioSnippet textReading;

  void setup() {
      size(100, 100);
      background(0, 255, 0); // green background color
      myMinim = new Minim(this);
      textReading = myMinim.loadSnippet("testmp3.mp3");
  }// setup

  void draw() {
  }// draw

  void mouseReleased() {
      textReading.play();
  }// mouseReleased

  void stop() {
      myMinim.stop();
      super.stop();
  )// stop

***Ошибка:

-post-build:

debug:
FATAL EXCEPTION: Animation Thread
java.lang.ExceptionInInitializerError
    at processing.test.minimtest.MinimTest.setup(MinimTest.java:31)
    at processing.core.PApplet.handleDraw(Unknown Source)
    at processing.core.PGraphicsAndroid2D.requestDraw(Unknown Source)
    at processing.core.PApplet.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:1019)
Caused by: java.lang.NoClassDefFoundError: javax.sound.sampled.AudioFileFormat$Type
    at ddf.minim.Minim.<clinit>(Minim.java:65)
    ... 5 more

person Susanna    schedule 20.09.2013    source источник


Ответы (1)


Minim использует javax.sound.*, которого нет в Android.

Попробуйте APWidgets и начните с примеров медиаплеера.

Другой альтернативой является использование медиаплеера Android SDK.

person George Profenza    schedule 22.09.2013
comment
Привет всем, оказывается, моя проблема не в Fatal Exception с Minim. Это связано с тем, как Processing ожидает файлы по сравнению с Android. Обработка ожидает найти вещи в папке данных, в то время как Android нуждается в них в папке Assets или папке res. Итак, как бы ни была хороша Processing как среда разработки (которую я люблю), мне нужно изолировать файлы ввода-вывода (видео, изображения, аудио), чтобы знать, работаю ли я на Android или нет!!! Я открыт для предложений, если у кого-то есть способ беспрепятственно перенести код между Processing и Android. - person Susanna; 03.10.2013