SoundPlayer不能与字符串一起工作
本文关键字:一起 工作 字符串 不能 SoundPlayer | 更新日期: 2023-09-27 18:12:47
好吧,我是一个新手,已经在谷歌上花了4个小时了。所以我真的很感激你的帮助。我试着用一个变量来播放声音(有100多个声音),我在这个教程中做了所有的事情:http://www.codeproject.com/Articles/17422/Embedding-and-Playing-WAV-Audio-Files-in-a-WinForm
如此:
System.Media.SoundPlayer soundPlayer = new System.Media.SoundPlayer
(PROGRAM.Properties.Resources.audio);
soundPlayer.Play();
This does not work:
string file = "PROGRAM.Properties.Resources.audio";
System.Media.SoundPlayer soundPlayer = new System.Media.SoundPlayer
(file);
soundPlayer.Play();
ERROR: Please be sure a sound file存在于指定的位置…System.Media: SoundPlayer.ValidateSoundFile (StringfileName)
字符串怎么可能不工作?
当您在第一个示例中使用PROGRAM.Properties.Resources.audio
时,您实际上获得了对流的引用(它为您提供了嵌入的音频数据)。这是由.resx生成的自动生成代码管理的。
当你将"PROGRAM.Properties.Resources.audio"
作为字符串传递时,SoundPlayer将其解释为文件名,然后显然找不到它。
如果您想手动从资源文件中获取音频流,请尝试:
var stream = PROGRAM.Properties.Resources.ResourceManager.GetStream( "audio" );
var soundPlayer = new System.Media.SoundPlayer( stream );
soundPlayer.Play();