ビデオを提供するために取り組んできたコードに少し問題があります。コードは以下のとおりです。
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ビデオへの直接リンクに変更してみたところ、すぐにiPadで再生が開始されました。
メソッドをiDeviceと互換性のあるものにするために、見逃してしまった特別なことはありますか?これに関する助けをいただければ幸いです。