我想动态加载一个资源文件。
如果我静态地做,显然效果很好:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources._88);
player.Play();
这会加载并播放资源 _88。
但是,我希望它是动态的,
我有一个变量“num”,它可以是 1-90 之间的任何数字,我想加载与该数字相关的资源。
所以我创建了另一个名为“soundURL”的变量,如下所示:
var soundURL = "_" + num;
但是当我将它与之前的一起使用时,它显然不起作用:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.soundURL);
我怎样才能克服这个问题?
最佳答案
您可以使用 ResourceManager 按名称加载资源
object O = Properties.Resources.ResourceManager.GetObject("_88");
然后您只需要将其转换为 Stream..
var s = (Stream)O;
System.Media.SoundPlayer player = new System.Media.SoundPlayer(s);
player.Play();
关于c# - 动态加载资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20663329/