>所以我在VS2010中创建了一个 ASP.NET 4应用程序,它需要向最终用户播放声音,并且它在我的本地开发环境中运行良好。问题是声音资源和资源.resx 未发布到服务器。知道为什么吗?
我做了什么:
1) 在项目 属性 资源下,我添加了我的声音资源,称为:声音字节(包含声音字节.wav)。我注意到这会创建一个包含 wav 文件的资源文件夹,在我的项目下有一个引用该文件的 Resources.resx 文件
2)在我的代码中,我按如下方式播放文件:
Dim audioFile = My.Resources. soundbyte
Dim player = New Media.SoundPlayer(audioFile)
player.Load()
player.Play()
在 Visual Studio 解决方案资源管理器中,右键单击 Resources.resx,然后选择"属性"。生成操作。设置为内容。
编辑:以下资源也可能有所帮助。http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx
最终,我找到了一种向客户端浏览器(而不是运行 asp 应用程序的服务器)播放声音的方法是遵循此示例中的技术: http://www.vbdotnetheaven.com/UploadFile/scottlysle/PlaySoundsInASPX09032006083212AM/PlaySoundsInASPX.aspx
但是我发现在我的案例中,一个更好的方法是使用Javascript,它不需要资源技术。
只需将声音嵌入到标签之后的页面上:
<embed src="Sounds/jump.wav" autostart=false width=1 height=1 id="sound1" enablejavascript="true">
然后在 javascript 设置函数中:
function EvalSound(soundobj) {
var thissound=document.getElementById(soundobj);
thissound.Play();
}
最后在 Javascript 中根据需要在浏览器中播放声音:
EvalSound('sound1');