MediaElement无法播放包含#的网络路径

14

我的 F:\ 驱动器是一个映射的网络驱动器。 我有两个视频存储在其中:

F:\Video1.mp4
F:\Video#1.mp4

我想使用一个MediaElement来播放它们。
<MediaElement Source="F:\Video1.mp4" />  <!-- works -->
<MediaElement Source="F:\Video#1.mp4" />  <!-- doesn't work -->

当 # 是网络路径时,它似乎被视为 %23。如果 F:\ 是本地驱动器,则可以正常工作。

我该如何使 F:\Video#1.mp4 正常工作?这是一个合法的路径。


你的URI是否真的是硬编码的?如果是,为什么不将它们移动到静态类中,并使用{x:Static local:MyConstants.VideoUri} - Uwy
3
不,我的URI是动态输入的,我无法控制它们。将路径设置为静态资源也无济于事。 - Julien
1个回答

12

尝试在URI前加上file:///

file:///是文件URI的标志,它允许您通过文件系统路径访问本地文件。

mediaElement.Source = new Uri( "file:///" + @"F:\Video#1.mp4" );

这个社交帖子说他们成功了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接