我在ASP.NET MVC 2应用程序中设置Silverlight 4 MediaElement Source属性时遇到问题。我有一台Windows 7开发机器和一台Windows Server 2008登台服务器。
本地我一直在使用MediaElement来源,如:
<MediaElement x:Name="VideoMediaElement" Source="Assets/126.mp4">
...
</MediaElement>
这个源可以在我的开发机器和我的登台服务器上运行,但我发现这只适用于谷歌浏览器。经过大量的研究和测试后,我转换了我的应用程序,将源设置为:
<MediaElement x:Name="VideoMediaElement" Source="http://localhost:40000/ClientBin/Assets/126.mp4">
...
</MediaElement>
使用此类型的Uri可让我的视频在Internet Explorer和Google Chrome中播放在我的本地服务器上。当我将其推送到我的登台服务器时,路径计算为:
<MediaElement x:Name="VideoMediaElement" Source="http://myDomain/MyVirtualDir/ClientBin/Assets/126.mp4">
...
</MediaElement>
这对我来说很好,但视频无法在登台服务器上的任何浏览器中播放。
我在开发环境和登台服务器之间看到的差异是虚拟目录。设置包含虚拟目录的完整Uri时是否存在已知问题或技巧?
将视频文件从文件结构加载到Silverlight 4 MediaElement的首选方法是什么?
答案 0 :(得分:2)
我诊断的第一步是: -
您是否尝试过“/assets/126.mp4”而不是“assets / 126.mp4”?
如果您从看起来不错的网址获取404检查服务器mime地图,是否有.mp4的映射?
同时检查文件访问安全性。
答案 1 :(得分:0)
检查fiddler实际的http请求/响应告诉你什么?也许有安全信息(跨域访问)或至少你得到更多细节封面下发生的事情...... 你可以在这里找到小提琴手:http://www.fiddler2.com/fiddler2/