首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Silverlight在IIS6上播放.WMA文件,当.WMA Extn。映射到Asp.Net

如何让Silverlight在IIS6上播放.WMA文件,当.WMA Extn。映射到Asp.Net
EN

Stack Overflow用户
提问于 2011-09-29 16:35:23
回答 1查看 994关注 0票数 0

在这个问题上,我似乎遇到了一些困难--尽管在XP Pro IIS5.1上一切正常,但在IIS6上,过去几天我已经尝试了所有方法,让silverlight在IIS中将.wma文件扩展名映射到.Net (通过主目录>配置,将扩展名映射到.Net)时播放.wma文件)-没有成功!!只要.wma文件类型没有映射到.net,这个文件就可以正常运行,但是一旦映射成功,我就一直收到一条通用的"System.Exception - 3137“错误消息--我认为这是一条找不到文件/文件不可访问的消息。

不能播放的.wma文件不会作为资源编译到silverlight .xap中--我试图访问它时,它只是服务器上文件夹/文件结构的正常部分。我尝试了许多不同的路径组合,但假设路径是正确的,因为当.wma扩展名未映射到.net时,文件播放正常。SL应用程序中设置源的代码是: mediaPlayer.Source = new Uri("http://www.thedomainname.org.uk/radio/featuredartistsplaylists/poprock.wma",UriKind.Absolute);-尽管我也尝试了.xap文件的相对路径(使用和不使用前导'/'),但使用ip地址而不是域名的绝对路径(这会导致网络错误)和反斜杠格式的相对文件系统路径(会造成网络错误)。-对于身份验证,在IIS上为windows用户帐户IUSR_HOST-7418启用匿名访问,并且根本不在web.config中设置模式,我已尝试将其设置为mode="none“和mode="windows”

我的虚拟主机设置是运行Windows Server 2003 Standard的VPS。我真的不知道我在做什么,但我已经尝试了以下方法,但没有效果:

代码语言:javascript
复制
- In the IIS configuration mapping dialogue, trying with the 'verify that file exists' checkbox checked and unchecked

- adding a <httpHandlers> entry for .wma in the <system.web> tag of web.config as follows :
    <path "*.wma" verb="*" type="System.Web.UI.PageHandlerFactory" validate="false" />
(and tried it with validate="true")

- running the request with and without a global.asax and with a code-free Application_BeginRequest event - in case my code in global.asax was blocking access to the .wma

- granted Read & Execute rights on the folder containing the .wma to both the Internet Guest Account(HOST-7418\IUSR_HOST-7418) and Users(HOST-7418/Users) Account.

在这一点上,除了怀疑这是某种文件/文件夹访问问题而不是路径问题之外,我几乎失去了想法-尤其是因为我在Windows Server2008(IIS7) VPS设置中遇到了相同的问题- .wma文件再次仅在未映射到.net时播放(使用编译的处理程序/模块),否则由于"System.Exception : 2210 AG_E_INVALID_ARGUMENT“错误代码而拒绝播放。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2011-09-29 20:17:17

有两件事--首先,WMA不需要映射到.NET处理程序。它只是一个从web服务器上提供的静态文件,所以不用担心任何处理程序或web.config的东西。一个普通的IIS网站应该可以满足您的需求。

首先,测试您的服务器配置。

如果你的文件在http://www.mywebserver.com/SampleFile.wma上,打开Windows Media Player,转到文件>打开URL,然后输入完整的URL并确保它可以播放。如果不这样做,Silverlight就不会工作。

一旦开始工作,Silverlight MediaElement就可以使用Windows Media Streaming的两种方法--渐进式下载或流式传输。渐进式下载是您当前的方案,流式传输需要Windows Media Services,可以通过RTSP协议(MMS)或HTTP完成。

为了帮助您进行测试和比较,我提供了一个示例WMA,供您使用以下3个场景进行测试:

渐进式下载(纯web服务器):http://static.x9tech.com/StackOverflow/WithoutASoundSample.wma

流媒体(彩信上的WMS):mms://xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSample.wma

流(WMS over HTTP):http://xstream5.x9tech.com/Static/StackOverflow/WithoutASoundSample.wma

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

https://stackoverflow.com/questions/7594560

复制
相关文章

相似问题

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