Саундбанк для Java

Я работаю над апплетом Java, который использует javax.sound.midi.sequencer для воспроизведения последовательности MIDI. Для того, чтобы это работало, у посетителя должен быть установлен звуковой банк на его/ее компьютере. Судя по всему, Windows JRE не поставляется с банком звуков, и его необходимо загружать отдельно с http://java.sun.com/products/java-media/sound/soundbanks.html . Однако можно загрузить звуковой банк из файла без прохождения процесса установки. Итак, это подводит меня к моему вопросу: кто-нибудь знает, где я могу найти распространяемый (с открытым исходным кодом) банк звуков, совместимый с JavaSound? В качестве альтернативы, есть ли способ легально распространять звуковые банки Sun по указанному выше URL-адресу, не распространяя всю JRE? Я хочу иметь звуковой банк, который мой апплет может загружать на лету из файла.


person Jonathan    schedule 01.07.2010    source источник


Ответы (3)


Как JDK README, так и JRE README содержит раздел распространения, посвященный банкам звуков:

... файл soundbank.gm JDK может быть включен в распространяемые JRE по усмотрению поставщика. Несколько версий расширенных звуковых банков MIDI доступны на веб-сайте Java Sound: http://java.sun.com/products/java-media/sound/. Эти альтернативные банки звуков могут быть включены в распространяемые версии JRE.

Это звучит так, как будто их можно распространять, но только как часть JRE...

person kschneid    schedule 01.07.2010
comment
Да, я тоже заметил этот раздел. Однако я не был уверен, означает ли это, что звуковой банк нельзя распространять отдельно... Я думаю, что это дает разрешение только на изменение распространяемого JRE/JDK для включения файла звукового банка. - person Jonathan; 02.07.2010

Я просмотрел веб-сайт Oracle, на который вы ссылаетесь, и я не понимаю, почему вы не можете включить файл soundbank.gm как часть своего апплета.

Я думаю, что добавление уведомления об авторских правах в какое-либо место вашего апплета будет соответствовать условиям лицензии.

Авторские права на Soundbank принадлежат © 2008, 2010 Oracle и/или ее дочерним компаниям. Все права защищены. Использование регулируется условиями лицензии.

Если вы хотите быть в безопасности, обратитесь в Oracle и спроси у них.

person Gilbert Le Blanc    schedule 01.07.2010
comment
Спасибо за ссылку... Возможно, я попытаюсь связаться с Oracle по этому поводу. - person Jonathan; 02.07.2010

Страница, на которую вы ссылаетесь, утверждает, что возвращается к аппаратному MIDI-порту, если звуковой банк не существует.

Думаю, лучше спросить... пробовали ли вы использовать его без Soundbank?

Между прочим, большинство браузеров могут нормально воспроизводить MIDI-файлы, поэтому я не уверен, зачем вам нужен апплет для этого, если только это не фоновый звук для чего-то другого.

person Powerlord    schedule 01.07.2010
comment
Да, я пробовал использовать его без саундбанка. Когда звуковой банк не установлен и я вызываю MidiSystem.getSynthesizer().getAvailableInstruments(), я получаю массив нулевой длины. Моему приложению нужно получить доступные инструменты, и оно не может этого сделать, если нет звукового банка. Причина, по которой я использую апплет для воспроизведения этого MIDI, заключается в том, что апплет фактически генерирует MIDI-данные на лету (это не просто воспроизведение MIDI-файла). - person Jonathan; 02.07.2010