我正在尝试播放特定的声音。但是,我似乎无法访问在解决方案资源管理器中添加的文件。(我有一个名为"声音/"的文件夹,里面有几个.wav音效)
当我将文件路径硬编码到HDD上的随机固定位置时,它工作得很好。此外,当我将资源放在"bin/debug/"文件夹中时,它工作得很好(这是我使用 AppDomain.CurrentDomain.BaseDirectory
函数最接近工作相对路径)。
使用在解决方案资源管理器中添加的文件时,如何使 SoundPlayer 正常工作?
您可以将它们作为项目资源嵌入到 dll/exe 上,然后通过应用程序对象使用它们:
添加和编辑资源 (Visual C#)
http://msdn.microsoft.com/en-us/library/7k989cfy%28v=vs.90%29.aspx
您还可以使用资源管理器(如果要单独交付声音文件,则更好选择):
资源管理器
http://msdn.microsoft.com/en-us/library/system.resources.resourcemanager%28v=vs.110%29.aspx
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:mywavfile.wav");
player.Play();
或您可以使用资源将声音文件嵌入到项目中。
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Resources.Yourfile);
player.Play();
更新:将声音文件添加到资源时,可以通过文件名称访问它。