【发布时间】:2014-01-24 09:13:39
【问题描述】:
我正在使用 Visual Studio 2012 构建一个 WPF 项目,但我发现相对路径存在问题。
具体来说,我希望在选中 ToggleButton 时播放声音。
这是我的按钮的代码:
<ToggleButton Name="Circles" Margin="88,104,86,172" Background="#FFFFD0CD" Foreground="Black" Checked="Circles_Checked">Circles</ToggleButton>
如果我这样写:
private void Circles_Checked(object sender, System.Windows.RoutedEventArgs e)
{
MediaPlayer mplayer = new MediaPlayer();
mplayer.Open(new Uri("C:\\Users\\user1\\Documents\\Visual Studio 2012\\Projects\\RehabilitationGUIProject\\RehabilitationGUIProject\\circles.mp3", UriKind.Relative));
mplayer.Play();
}
一切正常。但我希望这段代码也能在其他机器上工作,不仅仅是我的。如果我必须将声音移动到另一个位置怎么办?我想使用相对路径并在我的项目文件夹中移动每个声音。
于是我在根项目中新建了一个名为 Sound 的文件夹,结构如下:
RehabilitationGuiProject
\属性
\参考
\斌
\对象
\听起来
\circles.mp3
...其他文件 .xaml
所以我写了上面相同的代码行,改变了这一行:
mplayer.Open(new Uri(@"/Sounds/circles.mp3", UriKind.Relative));
但是没有声音播放。从项目文件夹播放声音的正确相对路径是什么?
【问题讨论】:
-
您只能直接从文件系统播放文件,不能播放作为“资源”嵌入到程序集中的文件。
标签: c# wpf audio mp3 relative-path