Почему воспроизведение звука JavaFX MediaPlayer отлично работает на Windows и Mac, но возникают проблемы в Linux (popOS/Linux

Ответить Пред. темаСлед. тема
Anonymous
 Почему воспроизведение звука JavaFX MediaPlayer отлично работает на Windows и Mac, но возникают проблемы в Linux (popOS/

Сообщение Anonymous »


У меня есть игра JavaFX Tetris, которая использует класс MediaPlayer для воспроизведения музыки и звуковых эффектов. В частности, в моем классе SoundPlayer, который обрабатывает весь звук, я загружаю файлы .wav игры при запуске игры и перебираю каждый файл, создавая для каждого объект Media, а затем объект MediaPlayer для каждого объекта Media. MediaPlayer, по одному для каждого звука, сохраняются в массиве для будущего воспроизведения с помощью метода playSound класса, который принимает целочисленный аргумент, указывающий индекс MediaPlayer, соответствующий желаемому звуковому эффекту. Он отлично работает на Windows и Mac, но на моем ноутбуке под управлением popOS, хотя технически он работает, возникают следующие проблемы:
[*]
при запуске игры некоторые звуки будут воспроизводиться правильно, но после нескольких игр громкость воспроизведения станет настолько тихой, что вы ее едва услышите, хотя фактический атрибут громкости MediaPlayer не работает. изменить
[*]
некоторые звуки воспроизводят не весь звук, а только его часть.

Фоновая музыка и большинство звуков работают правильно, но в некоторых случаях возникают следующие проблемы. Вот мой код для воспроизведения звука при запуске игры:

public void playSound(int index) { MediaPlayer mediaPlayer = mediaPlayerList[индекс]; медиаплеер.стоп(); mediaPlayer.seek(Продолжительность.НОЛЬ); медиаплеер.играть(); } Это прекрасно работает на других моих компьютерах, но эта проблема возникает только на моем ноутбуке с popOS. Кто-нибудь знает, связана ли это с работой Java.sound в Linux или, возможно, это проблема с аппаратным обеспечением моего ноутбука? Я пытался настроить файл java.sound.config, но безрезультатно, и я в растерянности.

Как указано выше, я пытался найти исправления для файла конфигурации java.sound, но ничего не нашел, похоже, работает, поэтому я начинаю думать, что это может быть проблема с моим ноутбуком, но я решил попросить посмотрите, знает ли кто-нибудь что-нибудь, что я, возможно, пропустил. В настоящее время я студент CS, и это моя первая попытка проекта с использованием Java для воспроизведения звука, поэтому я совершенно не знаю, как это работает на низком уровне. Будем очень признательны за любую помощь, если кто-нибудь знает о каких-либо исправлениях или потенциальных причинах этого. Кроме того, мой аудиодрайвер обновлен, и все другие способы воспроизведения звука, которые я пробовал на этом ноутбуке, работают нормально.

Изначально я использовал класс Clip Java Sound API для воспроизведения звуковых эффектов, и воспроизведение звука работало правильно с Clips, но моя проблема с Clips заключалась в том, что звуки быстро запускались при вводе пользователя, как это часто бывает в В моей игре я обнаружил, что звук пропадает довольно часто, вероятно, из-за моих ограниченных знаний в области многопоточности, поэтому я решил вместо этого попробовать MediaPlayer от JavaFX, который гораздо более отзывчив и оптимизирован и, как я уже сказал, отлично работает на моем компьютере с Windows и Mac..... эта проблема возникает только на моем ноутбуке с Linux. Если это поможет, я использую openjdk-17.... Я не знаю, является ли это проблемой конкретно с open-jdk или oracle jdk или чем-то в этом роде.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»