【问题标题】:HTML5 Video playback not working with Safari (Mac and iOS)HTML5 视频播放不适用于 Safari(Mac 和 iOS)
【发布时间】:2016-05-13 05:50:33
【问题描述】:

我的一个网站上有一些视频。视频使用 HTML5 视频标签,并在呈现标签时使用了最佳实践。它在 Chrome、Firefox、Edge 甚至 Internet Explorer 中运行良好。除了野生动物园!甚至 Facebook 也能检测到视频并分享完美的作品。

在 Safari 中,它检测到视频,加载浏览器控件,但播放不起作用。我不认为这是视频标签的问题,因为当我在新标签中打开视频时,它也不起作用。我尝试使用miro video converter 和Apple 设置重新编码视频,但没有任何改变。我可以下载视频并使用Mac Preview 播放,没有任何问题。

作为附加信息,我在 IIS 7 上使用 ASP.net。

我在控制台看到这个错误:Failed to load resource: Plug-in handled load

这是其中一页:https://www.parscanada.com/_104189

这是 Mac 版 Safari 上页面的屏幕截图:

这是 iOS 版 Safari 上页面的屏幕截图(模拟器 - 与设备相同):

【问题讨论】:

  • 嗨,我遇到了同样的问题。我刚刚在 Safari/iOS 中检查了您的网站,视频文件似乎可以正常工作。你能解释一下你是如何解决这个问题的吗?
  • 糟糕,很抱歉没有更新答案。我会在几分钟内发布答案。

标签: html video safari mobile-safari


【解决方案1】:

问题已解决,使用来自 http://dotnetslackers.com/articles/aspnet/Range-Specific-Requests-in-ASP-NET.aspx 的 Scott Mitchel 的代码(链接已失效,但您可以在 archive.org 中找到它)

将正确的标头发送回 Safari 请求似乎是个问题。我用我的原始代码替换了 Scott 的部分代码,一切似乎都运行良好。

这里是 scot 的代码摘要:

/// <summary>
/// An abstract HTTP Handler that provides resumable file downloads in ASP.NET.
/// 
/// Created by:
///     Scott Mitchell
///     mitchell@4guysfromrolla.com
///     http://www.4guysfromrolla.com/ScottMitchell.shtml
/// </summary>
/// <remarks>
/// This class is a fairly close port of Alexander Schaaf's ZIPHandler HTTP Handler, which I found online at:
/// 
///     Tracking and Resuming Large File Downloads in ASP.NET
///     http://www.devx.com/dotnet/Article/22533/1954
/// 
/// I also found a similar version of this code in the download for the September 2006 issue of MSDN Magazine:
/// http://download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/MSDNMag2006_09.exe
/// 
/// Alexander's code is in Visual Basic and was written for ASP.NET version 1.x. I ported the code to C#,
/// refactored portions of the code, and made use of functionality and features introduced in .NET 2.0 and 3.5.
/// </remarks>

【讨论】:

  • 嗨 KiNG。我很想看到最终的处理程序代码。我遇到了类似的问题(在 node.js-project 中),但也许您的代码让我了解应该使用哪些标头。
  • 嗨@Simon,很抱歉回答迟了。我已经使用并扩展了 Scott Mitchell 的示例代码。由于您使用的是 node.js,因此我自己的代码对您没有帮助。只需下载上面链接中的示例代码并查看 RangeRequestHandlerBase.cs。它是你需要寻找合适的标题等等的地方。
  • 您需要在答案中发布解决方案才能有所帮助。链接的站点现在无法访问,因此此答案无用。
  • @NeilMonroe 完整的答案很长。我可能会将其作为要点发布。 :)
  • 为什么不发布最终的处理程序代码而不强迫人们发表评论?
猜你喜欢
  • 2021-11-27
  • 2012-04-22
  • 2017-05-10
  • 2018-06-09
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
相关资源
最近更新 更多