我想播放媒体元素(不是我在这里问一个全球性的问题)。 我有一个媒体元素的资源文件,我想玩,但它的源需要一个URI,例如
mediaElement1.Source = new Uri(@"c:\users\SabrinaVazIsFuckingGod\video\22.wav");
现在我没有22.wav
作为路径,而是在我的“资源”
我从搜索中发现一些程序员正在谈论包 但我不知道如何使用它们, 所以,如果您知道如何,并且可以解释我甚至更好地给我示例代码,我将不胜感激。
感谢那些已经回答的人,但他们没有回答我的问题,我想把我的媒体文件放在exe中,而不是在任何其他地方。
答案 0 :(得分:1)
经过一些反复试验,我能够得到以下信息:
MyMediaElement.LoadedBehavior = MediaState.Play;
MyMediaElement.Source = new Uri(@"Resources\AudioFile.mp3", UriKind.Relative);
如果您在Visual Studio中转到媒体文件的属性,并将构建操作设置为Content
,并将复制到输出目录设置为Copy if newer
,那应该可以解决问题。我尝试使用你提到的包语法,但是如果要将这些媒体文件复制到可执行文件旁边的子文件夹中,那么一个简单的相对路径应该可以解决问题。
答案 1 :(得分:1)
确保构建操作设置为资源并使用以下代码
uri = new Uri(@"pack://application:,,,/Resources/22.wav", UriKind.RelativeOrAbsolute);
答案 2 :(得分:0)
我还不知道软件包,但您链接的文档表明您应该有pack://
前缀,然后是权限(因为您的文件在资源中是application:///
,但是///
替换为,,,
,如说明所示),以便您的URI格式为:
new URI(@"pack://application:,,,/Resources/22.wav")
试一试,看看它是否有效。