首页 > 解决方案 > MP4 视频不能在 iPhone 上播放,但可以在桌面和 Android 上播放

问题描述

有没有人遇到过这个问题?

从 Windows PC 上的浏览​​器或从 Android 手机上传到 ASP.NET MVC5 网站的视频在任何浏览器、Android 甚至 Windows Mobile 上都可以正常播放,但在 iPhone 上不可见。

图库代码如下所示:

<div id="link_@fileViewModel.ID" class="row gallery-media-file">
<a href="@Url.Action("GetVideoFile", "File", new {id = fileViewModel.ID})" type="video/mp4" title="@videoViewModel.Title" class="m-0">
    <video class="img-responsive">
        <source src="@Url.Action("GetVideoFile", "File", new {id = fileViewModel.ID})" type="video/mp4" />
    </video>
</a>

服务器是 IIS8 并安装了应用程序请求路由缓存以处理字节范围段大小。

视频存储在后端数据库中,并通过以下操作提供服务:

public void GetVideoFile(Guid id)
{
    var file = _fileProcessor.Get(id);
    Response.ContentType = file.MimeType;
    Response.BinaryWrite(file.Data);
}

有什么想法...我很难过?

编辑:

使用 Dropzone.js -> https://www.dropzonejs.com/上传文件

编辑2:

我还使用 blueimp 库来显示文件,但结果是删除了该属性:

type="video/mp4"

从锚标签允许视频在 iPhone 上播放。

不幸的是,它没有显示视频的静止画面,而且播放时也没有声音。此外,当 type 属性从锚标记中删除时,它会停止在桌面和 android 上的图库中播放。

最终,我可能不得不根据客户端有条件地渲染 html,但体积和视频图像捕获仍然是一个问题。

以下是一些帮助,但仍然没有乐趣:HTML5 Video tag not working in Safari , iPhone and iPad

标签: htmliphoneasp.net-mvcvideohtml5-video

解决方案


推荐阅读