目前我正在处理一个处理程序,将数据库中的视频提供给将使用HTML5显示它的控件。但是,使用Response.OutputStream.Write确实可行,但Firefox 4.0和Chrome中的视频播放器似乎无法确定视频的长度。随着游戏时间的推移,Firefox的计数器只会增加,而Chrome则显示完全随机的时间。
是否需要设置一些标题才能使其工作?我已经将内容长度设置为字节数,我认为这是正确的值。
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();
任何帮助将不胜感激。
这方面的进展如何? – vtortola 2011-12-20 12:16:52