首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >存储在服务器上的.wav声音文件在web应用程序中加载时无法播放

存储在服务器上的.wav声音文件在web应用程序中加载时无法播放
EN

Stack Overflow用户
提问于 2012-03-27 18:53:25
回答 2查看 2.1K关注 0票数 2

这就是我试图实现的场景:存储在与web应用程序相同的服务器上的声音,在客户端满足某个条件时播放。当我在IDE中运行它并将webconfig更改为指向DB所在的服务器时,它可以完美地工作。但是,当我部署它并通过浏览器访问它时,声音不会播放。与我使用开发机器时播放的声音相同。代码为:

代码语言:javascript
运行
复制
 var configsetings = new System.Configuration.AppSettingsReader();
 string soundPath= configsetings.GetValue("Notification",typeof(System.String)).ToString();
 var sound = new System.Media.SoundPlayer { SoundLocation = Server.MapPath(soundPath) };
 sound.Load();
 sound.Play();

web配置为:

代码语言:javascript
运行
复制
<add key="Notification" value="~/beep-4.wav" />

声音文件位于ASP.NET web应用程序的根文件夹中。那么,可能出了什么问题呢?服务器上没有音频输出设备,也没有像媒体播放器这样的播放器,然而这些因素并没有阻止它在我的开发机器上工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-28 01:52:19

看一下你发布的代码,我会假设你是用C#写的。

因此,这段代码将在服务器端运行,而客户端( web浏览器)永远不会知道它或您的音频文件。请阅读有关asp.net代码隐藏及其工作原理的信息。如果要在浏览器(客户端)中播放音频文件,则需要使用javascript、flash或< audio > tag from html5

通过在服务器上安装声卡,您只能实现(在最好的情况下)在该服务器上播放文件。

票数 2
EN

Stack Overflow用户

发布于 2012-03-31 00:58:42

感谢yms,标签起作用了。我将一个在运行时将标记的HTML写入div的例程放入一个计时器中。

代码语言:javascript
运行
复制
sounddiv.InnerHtml = "<audio preload=\"auto\" autoplay=\"autoplay\">" +
            "<source src=\"" + soundPath + "\" type=\"audio/wav\" />" +
            " Your browser does not support the audio tag. </audio>";

此代码在定时器中的代码后台中调用,以响应条件。所以声音每30秒重复一次。问题解决了。谢谢你们提供的线索。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9888181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档