ASP.NET和HTML5视频播放时间
|
下午好,stackoverflow!
目前,我正在处理一个处理程序,以将视频从数据库提供给将使用HTML5进行显示的控件。使用Response.OutputStream.Write确实可以工作,但是,Firefox 4.0和Chrome中的视频播放器似乎无法确定视频的持续时间。 Firefox的计数器会随着播放时间的增加而增加,而Chrome显示的是完全随机的时间。
我需要设置一些标头才能使其正常工作吗?我已将content-length设置为字节数,我认为这是正确的值。
HTML标记
<video controls=\"controls\" poster=\"<%= ImageURL %>\" width=\"<%= Width %>\" height=\"<%= Height %>\" preload=\"preload\">
<source src=\"<%= MP4URL %>\" type=\'video/mp4; codecs=\"avc1.42E01E,mp4a.40.2\"\'/>
<source src=\"<%= OggURL %>\" type=\'video/ogg; codecs=\"theora,vorbis\"\'/>
<img alt=\"<%= ImageAlt %>\" src=\"<%= ImageURL %>\" width=\"<%= Width %>\" height=\"<%= Height %>\" title=\"No video playback capabilities, please download the video below\" />
</video>
</div>
视频处理程序代码
// Snip -- Company specific DB code
// Set the correct headers
context.Response.AppendHeader(\"content-length\", video.Length.ToString());
// Set the content type
switch (extensionType.ToLower())
{
case \"ogv\":
contentType = \"video/ogg\";
break;
case \"mp4\":
contentType = \"video/mp4\";
break;
default:
contentType = \"\";
break;
}
context.Response.ContentType = contentType;
context.Response.Charset = String.Empty;
context.Response.Buffer = false;
// Write the video to the stream
context.Response.OutputStream.Write(video, 0, video.Length);
// Close the repsonse
context.Response.Close();
context.Response.End();
任何帮助,将不胜感激。
没有找到相关结果
已邀请:
1 个回复
妒垮