Web应用程序中包含的声音不在IIS中播放

时间:2014-04-25 08:16:29

标签: asp.net iis web iis-7 audio

我创建了这个Web应用程序,只要窗口中的数字发生变化就会提供声音。当我在Visual Studio中运行我的应用程序时,声音完美有效但是当我用IIS 7打开我的网络时,声音不再起作用了。

是什么原因引起的?我该如何解决?

我顺便使用ASP.Net。

感谢您的立即回复。

这是我使用的代码

public void providesound()

{

 System.Reflection.Assembly a =System.Reflection.Assembly.GetExecutingAssembly();
 System.IO.Stream s = a.GetManifestResourceStream("~/sound/beep.wav");
 SoundPlayer player = new SoundPlayer(s);
 player.Play(); 

}

2 个答案:

答案 0 :(得分:2)

由于声音在您的开发环境中播放,因此在IIS中部署声音时,我能想到的唯一原因是没有播放声音; 您的IIS未配置为将声音文件发送到客户端。简单来说,如果您有一个声音文件说.wav扩展,在IIS的MIME类型的网站下看看你是否有此扩展的条目。如果没有,以下链接可以帮助您创建MIME条目:

http://technet.microsoft.com/en-us/library/cc725608(v=ws.10).aspx

我相信这会解决您的问题,但如果没有,那么您应该按照Damien的要求发布代码,并添加有关您如何发布网站的详细信息(一步一步)。

修改1:

查看您正在使用的代码我不认为您可以使声音在您的客户端上以这种方式工作。这里有两个链接引用它们:asp.net SoundPlayer not playing from serverHow to run a .wav in client. ASP.NET

希望这有帮助。

答案 1 :(得分:0)

我可以通过创建Javascript

来完成此任务
 function EvalSound(soundobj)
 {
         var thissound = document.getElementById(soundobj);
         thissound.play();
 }
 <audio id="audio1" src="Sound/beep.wav" controls preload="auto" autobuffer HIDDEN=true >

和我的.cs

 public void CreateSound()
 {

        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.Append(@"<script language='javascript'>");
        sb.Append(@"EvalSound('audio1');");
        sb.Append(@"</script>");
        System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(),     "JCall1", sb.ToString(), false);

 }

您可以在Button_Click中添加CreateSound()。