所以我在VS2010中创建了一个ASP.NET 4应用程序,它需要向最终用户播放声音,并且它在我的本地开发环境中运行良好。问题是声音资源,而且Resources.resx没有发布到服务器。知道为什么吗?
我做了什么:
1)在项目属性Recources下,我添加了我的声音资源:soundbyte(包含soundbyte.wav)。我注意到这会创建一个带有wav文件的Resource文件夹,并在我的项目下创建一个引用该文件的Resources.resx文件
2)在我的代码中,我按如下方式播放文件:
Dim audioFile = My.Resources. soundbyte
Dim player = New Media.SoundPlayer(audioFile)
player.Load()
player.Play()
答案 0 :(得分:1)
在Visual Studio Solution Explorer中,右键单击Resources.resx,然后选择“属性”。建立行动。设置为内容。
编辑:以下资源也可能有所帮助。 http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx
答案 1 :(得分:0)
最终,我发现一种向客户端浏览器播放声音的方法(与运行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');