【问题标题】:Silverlight 4 MediaElement Source Uri problemsSilverlight 4 MediaElement 源 Uri 问题
【发布时间】:2011-03-15 12:15:00
【问题描述】:

我在 ASP.NET MVC 2 应用程序中设置 Silverlight 4 MediaElement Source 属性时遇到问题。我有一台 Windows 7 开发机器和一台 Windows Server 2008 登台服务器。

在本地,我一直在使用 MediaElement 源,例如:

<MediaElement x:Name="VideoMediaElement" Source="Assets/126.mp4">
...
</MediaElement>

这个源代码可以在我的开发机器和暂存服务器上运行,但我发现它只能在 Google Chrome 中运行。经过大量研究和测试后,我将我的应用程序转换为将源设置为:

<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 的首选方法是什么?

【问题讨论】:

    标签: asp.net-mvc silverlight internet-explorer google-chrome


    【解决方案1】:

    我诊断此问题的第一步是:-

    • 停止使用铬。让它在 IE 中运行,然后测试其他浏览器。
    • 停止使用完整的 URL。鉴于 XAP、主机页面和资源都在同一台服务器上,我们知道我们不需要它,所以不要使用它。
    • 不要使用在登台服务器上运行的浏览器,使用另一台客户端计算机进行测试。
    • 按照服务器信息的建议在客户端计算机上安装 Fiddler2 并查看实际请求的内容。

    你试过用“/assets/126.mp4”代替“assets/126.mp4”吗?

    如果您从一个看起来不错的 URL 获得 404,请检查服务器 mime 映射,是否有 .mp4 映射?

    同时检查文件访问安全性。

    【讨论】:

    • 感谢您的帮助。您回答了我是否需要完整路径的问题。所以要清楚,如果我的源代码都在同一个 ClientBin 下,我不需要完整的路径。此外,我的服务器中缺少类型为“video/mpeg”的“.mp4”的 MIME 类型。一旦我添加了这个,相对路径和绝对路径都会再次开始工作。现在只有它会流式传输而不是先下载整个文件然后播放它,但这将是另一个问题的主题。
    • @Steve:对“Silverlight 渐进式下载”的一些研究可能会对您的下载问题有所帮助。
    【解决方案2】:

    是否检查了 fiddler 实际的 http 请求/响应告诉你什么?也许有安全信息(跨域访问),或者至少您可以获得更多详细信息,这在封面下发生了什么...... 你可以在这里找到提琴手:http://www.fiddler2.com/fiddler2/

    【讨论】:

    • 我一直在使用提琴手。它在“/MyVirtualDir/ClientBin/Assets/126.mp4”上显示 404 错误,但我不确定这能告诉我多少。我知道它找不到它,这就是为什么我很确定这是一个路径问题。如果我使用“Assets/126.mp4”之类的相对路径,提琴手不会出现问题;但同样,这似乎只适用于谷歌浏览器。
    • 您是否将构建操作设置为视频资源,然后 xap 很大,但您可以相对访问它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多