首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SoundPlayer不适用于字符串

SoundPlayer不适用于字符串
EN

Stack Overflow用户
提问于 2014-07-14 01:36:33
回答 1查看 1.7K关注 0票数 0

好吧,我是个菜鸟,已经在谷歌上花了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();

这不起作用:

string file = "PROGRAM.Properties.Resources.audio";

System.Media.SoundPlayer soundPlayer = new System.Media.SoundPlayer (file); soundPlayer.Play();

错误:请确保指定位置存在声音文件...System.Media:SoundPlayer.ValidateSoundFile(StringfileName)

字符串怎么可能不工作呢?

EN

回答 1

Stack Overflow用户

发布于 2014-07-14 01:52:08

当您在第一个示例中使用PROGRAM.Properties.Resources.audio时,您实际上获得了对流的引用(它为您提供了嵌入的音频数据)。这是由.resx生成的自动生成的代码管理的。

当您将"PROGRAM.Properties.Resources.audio"作为字符串传递时,SoundPlayer会将其解释为文件名,然后显然找不到它。

如果您想手动从资源文件中获取音频流,请尝试:

代码语言:javascript
复制
var stream = PROGRAM.Properties.Resources.ResourceManager.GetStream( "audio" );
var soundPlayer = new System.Media.SoundPlayer( stream );
soundPlayer.Play();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24725426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档