Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Audio annunciator unable to use audio files which have a space in their path

Aberta
#3,992 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@LordIdra já está trabalhando nisso.

Desde 27/10/2026.

  • #3993 de @LordIdra — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
java
Domínio
audio-video-rtc

Direção de pesquisa

Start in AudioAnnunciator.java at createMediaPlayer, which the stack trace identifies as the point where JavaFX Media receives the file URL. Read the related issues #3142 and #3058 for context, then check how a path containing spaces is handled. Done when the annunciator can create a MediaPlayer for the reported path; linked pull request #3993 is already open.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

OS: windows

Stack trace:

SEVERE [org.phoebus.applications.alarm.audio.annunciator.AudioAnnunciator] Failed to create MediaPlayer for URL: file:/C:/Users/kdt41815/Documents/Audacity/some test/alarm-undefined.wav
java.lang.IllegalArgumentException: java.net.URISyntaxException: Illegal character in path at index 47: file:/C:/Users/kdt41815/Documents/Audacity/some test/alarm-undefined.wav
        at javafx.scene.media.Media.<init>(Media.java:384)
        at org.phoebus.applications.alarm.audio.annunciator.AudioAnnunciator.createMediaPlayer(AudioAnnunciator.java:62)
        at org.phoebus.applications.alarm.audio.annunciator.AudioAnnunciator.<init>(AudioAnnunciator.java:43)
        at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
        at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:707)
        at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:672)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
        at java.base/java.util.ServiceLoader$ProviderSpliterator.tryAdvance(ServiceLoader.java:1352)
        at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
        at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:723)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorController.<init>(AnnunciatorController.java:68)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTable.<init>(AnnunciatorTable.java:245)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTableInstance.create(AnnunciatorTableInstance.java:80)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTableInstance.<init>(AnnunciatorTableInstance.java:49)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTableApplication.create(AnnunciatorTableApplication.java:69)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTableApplication.create(AnnunciatorTableApplication.java:61)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTableApplication.create(AnnunciatorTableApplication.java:31)
        at org.phoebus.framework.workbench.ApplicationService.createInstance(ApplicationService.java:152)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTableMenuEntry.call(AnnunciatorTableMenuEntry.java:26)
        at org.phoebus.applications.alarm.ui.annunciator.AnnunciatorTableMenuEntry.call(AnnunciatorTableMenuEntry.java:20)
        at org.phoebus.ui.application.PhoebusApplication.lambda$createMenuItem$0(PhoebusApplication.java:867)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
        at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
        at javafx.event.Event.fireEvent(Event.java:199)
        at javafx.scene.control.MenuItem.fire(MenuItem.java:459)
        at com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1426)
        at com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$6(ContextMenuContent.java:1379)
        at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
        at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
        at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
        at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
        at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
        at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
        at javafx.event.Event.fireEvent(Event.java:199)
        at javafx.scene.Scene$MouseHandler.process(Scene.java:4061)
        at javafx.scene.Scene.processMouseEvent(Scene.java:1947)
        at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2784)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.get(GlassViewEventHandler.java:353)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.get(GlassViewEventHandler.java:255)
        at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
        at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:387)
        at com.sun.glass.ui.View.handleMouseEvent(View.java:573)
        at com.sun.glass.ui.View.notifyMouse(View.java:975)
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at com.sun.glass.ui.win.WinApplication.lambda$runLoop$0(WinApplication.java:173)
        at java.base/java.lang.Thread.run(Thread.java:1527)
Caused by: java.net.URISyntaxException: Illegal character in path at index 47: file:/C:/Users/kdt41815/Documents/Audacity/some test/alarm-undefined.wav
        at java.base/java.net.URI$Parser.fail(URI.java:3008)
        at java.base/java.net.URI$Parser.checkChars(URI.java:3179)
        at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3261)
        at java.base/java.net.URI$Parser.parse(URI.java:3209)
        at java.base/java.net.URI.<init>(URI.java:651)
        at javafx.scene.media.Media.<init>(Media.java:382)
        ... 65 more

related: https://github.com/ControlSystemStudio/phoebus/issues/3142
also related: https://github.com/ControlSystemStudio/phoebus/issues/3058

Linguagem predominante
Java
Estrelas
130
Forks
132
Merge médio
2d 11h
PRs com merge (30d)
23

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de ControlSystemStudio/phoebus

Todas as issues de ControlSystemStudio/phoebus

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.