AudioInputStream Поп-звук в конце 8-битного звука WAV для Mac OSX [ошибка Java 1.7+] - PullRequest
0 голосов
/ 09 декабря 2018

Я делаю видеоигру, и я начал применять к ней звуки, все мои звуки - это файлы .wav и 8-битные.(пример звука https://ufile.io/ipbz2).

Теперь проблема, с которой я сталкиваюсь, заключается в том, что в Mac OSX возникает странный шум при воспроизведении звука (в конце).

Мой примерcode

public static void playSound() throws Exception {
    final Clip clip = (Clip)AudioSystem.getLine(new Line.Info(Clip.class));
    clip.open(AudioSystem.getAudioInputStream(new File("/Users/Phil/Desktop/2393.wav")));
    clip.start();

    // Sleep for 5 sec so it plays the sound.
    Thread.sleep(5000);
}

Вещи, которые я уже пробовал

  • Запуск кода на Java JDK 1.6. Работает нормально, но весь мой проект не совместим с этим, я также попытался сделатьвнешнюю библиотеку (.jar) и экспортируем ее с помощью jdk 1.6, но как только я использовал эту библиотеку в моем клиенте, она начала вырезать.
  • Воспроизведение звука и обрезка последних 10 мс. Это решение, похоже, хорошо, нокогда я начинаю проигрывать много звуков, снова появляется шум поппинга.
  • Использование онлайн-инструментов для преобразования wav из 8-битного в 16-битное, это решение, похоже, работает, но мой размер файла изменился с 25 кБ до 100 КБ, а неотличный результат, когда у меня более 1000 звуковых файлов.

Если у вас есть предложения, что я могу попробовать, пожалуйста, дайте мне знать! Я готов попробовать много!

...