【问题标题】:Sounds included in Web Application not Playing in IISWeb 应用程序中包含的声音未在 IIS 中播放
【发布时间】:2014-04-25 08:16:29
【问题描述】:

我创建了这个 Web 应用程序,只要窗口中的数字发生变化,它就会发出声音。当我在 Visual Studio 中运行我的应用程序时,声音可以正常工作,但是当我使用 IIS 7 打开我的 Web 时,声音不再工作了。

这是什么原因造成的?我该如何解决?

顺便说一下,我正在使用 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(); 

}

【问题讨论】:

  • 播放声音的代码在哪里?我怀疑您使用了不适当的 API,试图在 Web 服务器上而不是通过浏览器播放声音。
  • 声音在网络代码本身。我该怎么办?
  • 我不知道你所说的“关于网络代码本身”是什么意思——如果你真的向我们展示一些(相关的)代码,这个问题将会得到极大的改善。
  • 我一直在使用这段代码 public void providesound() { System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly(); System.IO.Stream s = a.GetManifestResourceStream("~/sound/beep.wav"); SoundPlayer 播放器 = 新的 SoundPlayer(s);播放器.Play(); }

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


【解决方案1】:

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

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

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

编辑 1:

查看您正在使用的代码,我认为您无法使声音在您的客户端上以这种方式工作。这里有两个链接参考他们:asp.net SoundPlayer not playing from server,How to run a .wav in client. ASP.NET

希望这会有所帮助。

【讨论】:

  • 谢谢。我会试试这个。
  • .wav 在我的 MIME 类型上还没有播放声音
  • 非常感谢。我会试试这个。
  • 感谢您的帮助。我尝试创建将提供声音的 Javascript。并在我的代码中触发脚本。查看我的代码。
【解决方案2】:

我可以通过创建 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()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 2015-11-01
    • 2013-01-18
    • 2011-04-30
    • 1970-01-01
    相关资源
    最近更新 更多