我有一段代码,我一直在努力为视频提供服务。代码如下:.net MVC流媒体MP4到iDevice问题
public ResumingFileStreamResult GetMP4Video(string videoID)
{
if (User.Identity.IsAuthenticated)
{
string clipLocation = string.Format("{0}\\Completed\\{1}.mp4", ConfigurationManager.AppSettings["VideoLocation"].ToString(), videoID);
FileStream fs = new FileStream(clipLocation, FileMode.Open, FileAccess.Read);
ResumingFileStreamResult fsr = new ResumingFileStreamResult(fs, "video/mp4");
return fsr;
}
else
{
return null;
}
}
这是我的HTML代码:
<video controls preload poster="@Url.Content(string.Format("~/Videos/{0}_2.jpg", Model.VideoID))">
<source src="@Url.Action("GetMP4Video", "Video", new { videoID = Model.VideoID })" type="video/mp4" />
<source src="@Url.Action("GetWebMVideo", "Video", new { videoID = Model.VideoID })" type="video/webm" />
<object id="flowplayer" data="@Url.Content("~/Scripts/FlowPlayer/flowplayer-3.2.14.swf")" type="application/x-shockwave-flash" width="640" height="360">
<param name="movie" value="@Url.Content("~/Scripts/FlowPlayer/flowplayer-3.2.14.swf")" />
<param name="allowfullscreen" value="true" />
<param name="flashvars" value="config={'playlist':['@Url.Content(string.Format("~/Videos/{0}_2.jpg", Model.VideoID))',{'url':'@Url.Action("GetMP4Video", "Video", new { videoID = Model.VideoID })','autoPlay':false}]}" />
</object>
</video>
我的问题是这样的设置似乎工作,从我的桌面上所有浏览器都正常,但当我尝试使用加载页面我iPad或iPhone只显示播放图标,并通过它显示无法播放。我尝试将mp4视频的源代码更改为直接链接到mp4视频,并立即开始播放。
有没有什么特别的我需要做的,我错过了命令使我的方法兼容iDevices?任何帮助,将不胜感激。