0

所以我在 VS2010 中创建了一个 ASP.NET 4 应用程序,它需要向最终用户播放声音,它在我的本地开发环境中运行良好。问题是声音资源也不是 Resources.resx 没有发布到服务器。知道为什么吗?

我做了什么:

1) 在项目  属性  资源下,我添加了我的声音资源,名为:soundbyte(包含 soundbyte.wav)。我注意到这会创建一个带有 wav 文件的 Resource 文件夹,并在我的项目下创建一个 Resources.resx 文件来引用该文件

2)在我的代码中,我按如下方式播放文件:

    Dim audioFile = My.Resources. soundbyte
    Dim player = New Media.SoundPlayer(audioFile)
    player.Load()
    player.Play()
4

2 回答 2

1

在 Visual Studio 解决方案资源管理器中,右键单击 Resources.resx 并选择属性。建立行动。设置为内容。

编辑:以下资源也可能有所帮助。 http://blog.andreloker.de/post/2010/07/02/Visual-Studio-default-build-action-for-non-default-file-types.aspx

于 2012-05-09T18:44:50.653 回答
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');
于 2012-05-14T13:35:05.723 回答