我尝试将媒体播放器添加到我的WPF应用程序中但没有任何声音。我添加了一个wav文件,如下所示。
//option 1
string soundname = "test.Wav";
MediaPlayer soundtrack = new MediaPlayer();
soundtrack.Open(new Uri(@"pack://application:,,,/Assets/sounds/" + soundname));
soundtrack.Play();
//option 2
MediaPlayer Sound1 = new MediaPlayer();
Sound1.Open(new Uri(@"Assets/sounds/test.Wav"));
Sound1.Play();
第一个选项(这是我真正想要的)不会使程序崩溃,但我听不到声音(不,计算机声音没有静音......)。我从MSDN获得的第二个崩溃了我的程序,说找不到该对象的实例。
我做错了什么?
谢谢!
答案 0 :(得分:1)
如果您可以将您的wav文件属性上的Build Action设置为Content
,将Copy to Output Directory设置为Copy Always
,请尝试以下操作。
MediaPlayer Sound1 = new MediaPlayer();
Uri uri = new Uri(System.IO.Directory.GetCurrentDirectory() + @"\Assets\Sounds\test.wav", UriKind.Absolute);
Sound1.Open(uri);
Sound1.Play();
这将从应用程序目录中获取文件。
另请注意,如果在渲染完成之前尝试执行MediaPlayer,则会遇到问题。所以如果你在WPF中尝试这个,让我们说public MainWindow()
它将无法播放。