Проблемы со звуком в Java и звуковой картой USB

Я использовал Java для занятий по разработке программного обеспечения в колледже, а недавно мы немного поработали над созданием MP3-плеера.

Моя проблема в том, что звук в Java воспроизводится некорректно. У меня Ubuntu 10.10, и у меня есть ноутбук, но я использую внешнюю звуковую карту (USB, потому что мой встроенный звук звучит не очень хорошо). Проблема в том, что Java всегда воспроизводит звук через внутреннюю звуковую карту моего ноутбука (даже несмотря на то, что в Ubuntu внутренний звук отключен), поэтому я слышу звук из маленьких динамиков ноутбука, а не из динамиков, подключенных к моей звуковой карте.

Я могу заставить его играть через звуковую карту с помощью программы aoss, но это сложно сделать. Я использую alsa в своей системе со звуковой картой USB, она отлично работает с другими звуковыми программами и музыкальными проигрывателями, есть идеи, как решить эту проблему? Я рад предоставить любую информацию, которая кому-то нужна или может оказаться полезной. Спасибо!


person convergedtarkus    schedule 19.04.2011    source источник
comment
Как ваш Java-код достигает звуковой карты?   -  person Thorbjørn Ravn Andersen    schedule 19.04.2011
comment
Я не писал код для java для доступа к звуковой карте, я предполагал, что java использует системные значения по умолчанию. Как мне сказать java, чтобы добраться до звуковой карты?   -  person convergedtarkus    schedule 19.04.2011
comment
как вы сейчас воспроизводите звуки?   -  person Thorbjørn Ravn Andersen    schedule 19.04.2011
comment
Я использовал этот тестовый файл, jsresources.org/examples/SimpleAudioPlayer.java.html. и этот файл вызывает описанную выше проблему при воспроизведении файла. Файл воспроизводится, но это внутренний звук моего ноутбука, а не моя звуковая карта.   -  person convergedtarkus    schedule 19.04.2011
comment
Хорошо, если это поможет кому-то разобраться в проблеме, я могу получить правильный звук (без какой-либо настройки или чего-либо еще), если я использую среду выполнения OpenJDK java 6 вместо sun java. Любая идея, почему есть разница, какой-то тип настройки конфигурации или что-то в этом роде?   -  person convergedtarkus    schedule 20.04.2011
comment
K, ребята, я думаю, что проблема связана с настройкой моего компьютера или звуковой карты (а не с моим кодом). Так что если у вас, ребята, есть идеи, не стесняйтесь публиковать, но я разместил свои проблемы в формах Ubuntu, но спасибо за помощь!   -  person convergedtarkus    schedule 20.04.2011


Ответы (1)


Предостережение: я не знаком с JavaSound.

Судя по предоставленному примеру кода, это выглядит так:

DataLine.Info   info = new DataLine.Info(SourceDataLine.class, audioFormat);

это та строка, которая запрашивает механизм воспроизведения, и что предоставленный вами аудиоформат соответствует встроенной звуковой карте.

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

person Thorbjørn Ravn Andersen    schedule 19.04.2011
comment
Поправьте меня, если я ошибаюсь, но разве audioFormat не получен из звукового файла, который я читаю? Я почти уверен, что это просто дает нам информацию о настройке файла. Я думаю, что проблема может быть связана с тем, что java использует неправильный микшер, но я не уверен. Вы знаете что-нибудь об этом? - person convergedtarkus; 20.04.2011