Audio annunciator unable to use audio files which have a space in their path
维护者通常 1 天内回复
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- java
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- Java
- 星标
- 130
- 派生
- 132
- 平均合并
- 2 天 11 小时
- 30 天内合并 PR
- 23
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ControlSystemStudio/phoebus 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
ControlSystemStudio/phoebus#3983 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
ControlSystemStudio/phoebus#3979 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 80/100
ControlSystemStudio/phoebus#3962 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
ControlSystemStudio/phoebus#3865 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
ControlSystemStudio/phoebus#3995 ·
维护者通常 1 天内回复
查看 ControlSystemStudio/phoebus 的全部 Issue
相似的 Issue
-
bug web-server
难度 2/5 1-3 小时 新手友好度 78/100
jooby-project/jooby#4035 ·
维护者通常 1 天内回复
-
L: javascript
难度 2/5 1-3 小时 新手友好度 72/100
dependabot/dependabot-core#16744 ·
维护者通常 1 天内回复
-
intake mcp-intake needs-human-review priority:high type:bug
难度 2/5 1-3 小时 新手友好度 62/100
Ikalus1988/MisakaNet#3987 · 3 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
quarkiverse/quarkus-google-cloud-services#1187 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 82/100
locationtech/jts#1250 ·