videojs プレーヤーでビデオ/mp4 ファイルを再生するテスト アプリケーションを c# で作成しました。videojs プレーヤーのソースは、コントローラー メソッドを呼び出す HttpRouteURL です。このコントローラ メソッドは、ビデオ/mp4 ファイルである FilePathResult (ファイル) を返します。出力ビデオは IE 10 では問題なく動作しますが、Chrome では完全には動作しません。Chrome で、「シーク バー」をスクロールしてビデオの別の部分に進むと、再び現在の時間に戻り、スクラブできません。小節を進める前に再生していたところから再生が始まります。この問題は、.mp4 ファイルからではなく、ビデオ ファイル オブジェクトを返すコントローラー URL からソースしているためだと推測しています。Chrome と Mozilla でビデオ スクラビングを有効にする方法を教えてください。コントローラーのコードは次のとおりです。
public FilePathResult SendToView(string coursename, int year, string sem, int id)
{
List<Video> videoList = new List<Video>();
Video video1 = new Video(
"ece-550", 2012, "simpsons.mp4", "spring", @"C:\Products\PCRS", 550);
Video video2 = new Video(
"ece-573", 2013, "oceans.mp4", "fall", @"C:\samples", 573);
Video video3 = new Video(
"ece-773", 2013, "whistle.mp4", "spring", @"C:\Products\PCRS\RnD\ffmpeg\input", 773);
Video video4 = new Video(
"his-501", 2012, "ducks.mp4", "fall", @"C:\", 501);
videoList.Add(video1);
videoList.Add(video2);
videoList.Add(video3);
videoList.Add(video4);
foreach (var v in videoList)
{
if (coursename == v.Coursename && year == v.Year && sem == v.Sem && id == v.Id)
{
returnpath = v.VideoPath;
finalpath = Path.Combine(returnpath, v.Filename);
}
}
Response.Clear();
Response.AddHeader("Content-Disposition", "inline; filename=@finalpath");
return File(finalpath, "video/mp4");
}
}
}
ビューのスニペットは次のとおりです。
<div>
<!-- Using video.js -->
<video id="videoPlayer" class="video-js vjs-default-skin"
controls preload="auto" width="640" height="480"
data-setup='{}'>
<source src="@Url.HttpRouteUrl("Course", new { controller = "Course", action = "SendToView", coursename = course , year = year,
sem = semester , id = ID})" type="video/mp4" />
</video>
</div>
どうもありがとう、助けてください。