Я опубликовал исправление проблемы (объяснено ниже), но не смог подтвердить, решает ли она проблему. Может ли кто-нибудь с Java 7 попробовать следующий апплет и отчитаться? Это было бы НАМНОГО оценено.
AudioMixerDemo
Проблема, о которой мне сообщили, заключалась в том, что верхний ряд кнопок, которые требуют загрузки аудиоклипа из ресурса, который был поврежден, не работает. Ошибка указывает на строку, где читается аудиофайл, и говорит, что выдается исключение ввода / вывода «mark / reset».
Этот код работает для Java 6, не работает для Java 7. Следующее утверждение выглядит следующим образом:
AudioInputStream ais = AudioSystem.getAudioInputStream(
AudioMixer.class.getResourceAsStream(fileName));
Внутренняя область возвращает InputStream
, и я думаю, что именно здесь возникает проблема «маркируемости». Эта проблема была обнаружена в базе данных ошибок Oracle как проблема обратной совместимости, но ей был присвоен низкий приоритет.
Я перекодировал вышесказанное следующим образом:
URL url = AudioMixer.class.getResource(fileName);
AudioInputStream ais = AudioSystem.getAudioInputStream(url);
В AudioSystem API нет ничего, что упоминало бы, что этот метод будет генерировать исключения "пометка / сброс" ввода / вывода. Итак, я надеюсь. Но я не смог подтвердить это!