Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#3,992 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@LordIdra arbeitet bereits daran.

Seit 27.10.2026.

  • #3993 von @LordIdra — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
java
Bereich
audio-video-rtc

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Java
Sterne
130
Forks
132
Ø Merge
2 T. 12 Std.
Gemergte PRs (30 T.)
22

Entwicklungsumgebung

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ControlSystemStudio/phoebus

Alle Issues in ControlSystemStudio/phoebus

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.