@Gfd

Как это сделать?

if(ChoiceRe.getText()=="Обычный"){
			System.out.println("Обычный режим запущен");
			normalTime=normalTime*60000;
			normalTime=normalTime/100;
			 f=new FileInputStream("src//application//res//Re//NormalRe//NormalReLord.mp3");
		    Task<Void> task = new Task<Void>() {

			    @Override
			    protected Void call() throws Exception {
			        double TimeStart = 0d;
			        for (int row = 0; row < 100; row++) {
			            TimeStart = TimeStart + 0.01;
			            updateProgress(TimeStart, 1);
			            try {
			                Thread.sleep(normalTime);
			            } catch (InterruptedException e) {
			            }
			        }
			        return null;
			    }
			  };
			  time.progressProperty().bind(task.progressProperty());
			 
			  Executors.newCachedThreadPool().submit(task);
			  try {                                                    //Этот код
					Player p=new Player(f);//выполняется раньше,
					p.play();//начала заполнения
				} catch (JavaLayerException e) {}//ProgressIndicator
}

Как сделать так, чтобы сначала заполнился на 100% ProgressIndicator, и лишь потом начало воспроизводиться аудио?
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ответы на вопрос 2
@moryakov
можно использовать CountDownLatch
Ответ написан
Комментировать
driversti
@driversti
Кратко о себе
Refactoring: вместо
ChoiceRe.getText()=="Обычный"
используйте
ChoiceRe.getText().equals("Обычный")
И почему вы сразу не умножаете на 600 в этом куске
normalTime=normalTime*60000;
normalTime=normalTime/100;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы