Ошибка 5 с Software\JavaSoft\Prefs

348
16 января 2017, 19:57

янв 14, 2017 10:44:54 PM java.util.prefs.WindowsPreferences WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

import javax.sound.midi.*;
public class MiniMusicCmdLine {
    public static void main(String[] args) {
        MiniMusicCmdLine mini = new MiniMusicCmdLine();

            int instrument = 80;
            int note = 20;
                        mini.play(instrument , note);
        }

    public void play(int instrument, int note) {
        try {
            Sequencer player = MidiSystem.getSequencer();
            player.open();
            Sequence seq = new Sequence(Sequence.PPQ, 4);
            Track track = seq.createTrack();
            MidiEvent event = null;
            ShortMessage first = new ShortMessage();
            first.setMessage(192, 1, instrument, 0);
            MidiEvent changeInstrument = new MidiEvent(first, 1);
            track.add(changeInstrument);
            ShortMessage a = new ShortMessage();
            a.setMessage(144, 1, note, 100);
            MidiEvent noteOn = new MidiEvent(a, 1);
            track.add(noteOn);
            ShortMessage b = new ShortMessage();
            b.setMessage(128, 1, note, 100);
            MidiEvent noteOff = new MidiEvent(b, 1);
            track.add(noteOff);
            player.setSequence(seq);
            player.start();

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

Что-то не так с аргументами? Я убрал из мейна проверку и метод parsint для аргументов instrument и note, заменив их на числа.. для смены инструмента и ноты.. выдаёт ошибку.. а звуков я не слышу) Изначально программа консольная.. но я изменил в мейне код и попытался запустить её в IDEA, потому как я не пойму как её через cmd запускать

Answer 1
  1. Скорее всего, это какая-то проблема с компилятором. Возможно, стоит его переустановить. Ошибка никак не указывает на исходный код - речь про какой-то ключ реестра с настройками.

  2. Ошибка 5 - это часто запрет доступа. Можно попробовать выполнить команду с админскими правами.

  3. Вообще-то warning, а не error. Программа точно не компилируется?

  4. Проверь права на ветку реестра: Software\JavaSoft\Prefs.

READ ALSO
Организация графического интерфейс на Swing

Организация графического интерфейс на Swing

Как правильно реализовать связку событие->слушатель->код, реагирующий на событиеВ каком классе должен быть инициализирован слушатель,...

348
Расположение, размеры и фон DialogFragment

Расположение, размеры и фон DialogFragment

DialogFragment вызывается Fragmentshow(getFragmentManager(), "ggg"); данные для фрагмента берутся в xml файле

339
SWT-приложение не запускается под Ubuntu

SWT-приложение не запускается под Ubuntu

Пытаюсь портировать десктопное SWT-приложение на UbuntuЗагрузил Eclipse Neon (6

522
Приложение для заказа товаров [требует правки]

Приложение для заказа товаров [требует правки]

Реализовать программу заказа товаровКак реализовать само приложение, знаю

320