Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2016, 22:28   #1
Avilag
 
Регистрация: 14.03.2016
Сообщений: 5
По умолчанию Java , Помогите плиз с исключениями )

Здравствуйте )
Совсем недавно начал изучать Java по книге "изучаем Java". В одной из глав создаётся прога , которая должна выдвать какой-нибудь звук .
В книге она работает, а у меня возникают исключения ,помогите их пожалуйста решить)
Цитата:
import com.sun.media.sound.SoftShortMessag e; // эта строчка появляется сама , печатаю в IDEA , при этом появляется сообщение , что она не используется)

import javax.sound.midi.*;

public class MusicTest1 {

public void play() {
try {
Sequencer player = MidiSystem.getSequencer();
player.open();
Sequence seq = new Sequence(Sequence.PPQ, 4);
Track track = seq.createTrack();

ShortMessage a =new ShortMessage();
a.setMessage(144,1,44,100);
MidiEvent noteOn = new MidiEvent(a,1);
track.add(noteOn);

ShortMessage b= new ShortMessage();
b.setMessage(128,1,44,100);
MidiEvent noteOff = new MidiEvent(b,16);
track.add(noteOff);

player.start();

player.setSequence(seq);
} catch (Exception ex) {
System.out.println("Неудача");
ex.printStackTrace();
}
}

public static void main(String[] args) {
MusicTest1 mt = new MusicTest1();
mt.play();
}
}
Результат
Цитата:
Неудача
java.lang.IllegalStateException: sequence not set
at com.sun.media.sound.RealTimeSequenc er.start(RealTimeSequencer.java:248 )
at MusicTest1.play(MusicTest1.java:24)
at MusicTest1.main(MusicTest1.java:35)
at sun.reflect.NativeMethodAccessorImp l.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImp l.invoke(NativeMethodAccessorImpl.j ava:57)
at sun.reflect.DelegatingMethodAccesso rImpl.invoke(DelegatingMethodAccess orImpl.java:43)
at java.lang.reflect.Method.invoke(Met hod.java:606)
at com.intellij.rt.execution.applicati on.AppMain.main(AppMain.java:144)

Последний раз редактировалось Avilag; 14.03.2016 в 22:37.
Avilag вне форума Ответить с цитированием
Старый 15.03.2016, 06:30   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Мне кажется, в системе нет MIDI устройства для воспроизведения. Автор указывает, для какой операционной системы предназначен код? Так как в windows 7 по сравнению с wxp и w2k сильно изменилось. У меня в системе встроенного динамика вообще нет.

Ошибка на строке player.start();
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 15.03.2016, 09:15   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Видимо
Код:
player.setSequence(seq);
надо вызывать до
Код:
player.start();
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с исключениями Lucky beggar PHP 6 25.06.2014 17:31
Сложная замена значений в ячейке с исключениями uranium238 Microsoft Office Excel 2 12.04.2013 18:00
Странности с исключениями РагнаР Общие вопросы C/C++ 2 08.03.2011 22:56
Разобраться с исключениями... Utkin Общие вопросы по программированию, компьютерный форум 5 10.02.2009 17:08