从嵌入式资源在WPF应用程序中播放多个声音

时间:2017-05-10 16:15:43

标签: c# wpf audio embedded-resource

我在点击按钮上运行此代码:

MediaPlayer myPlayer = new MediaPlayer();
myPlayer.Open(new Uri("MySound.wav", UriKind.Relative));
myPlayer.Play();

工作正常。如果我多次单击,我会播放多个声音实例。声音文件位于可执行文件旁边。

现在,我可以保持此功能(播放声音的多个实例)但是我的声音是否嵌入在程序集中?

我尝试将声音添加到项目中并将Build Action设置为Embedded Resource,然后像这样创建数据流:

Stream stream = Assembly.GetExecutingAssembly()
    .GetManifestResourceStream("MyAppNamespace.MySound.wav");

流是好的但后来我注意到System.Windows.Media.MediaPlayer的Open方法不能接受流但只接受Uri。

我可以从流中创建一个Uri,还是有其他方法让我的声音文件同时播放,同时还在嵌入?

0 个答案:

没有答案