IE无法播放内嵌的视频(embed)
下面的html在IE上面不能播放视频(在Firefox上面可以, downloadatt.aspx读取视频文件,并二进制输出)
方法一:
<object width="320" height="240" autoplay="false" controller="true" scale="ASPECT" src="http://localhost/Test/DownloadAtt.aspx">
<embed controller="true" width="320" height="240" src="http://localhost/Test/DownloadAtt.aspx"></embed></object>
如果用带参数(param)的object就可以播放
方法二:
<object classid='CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95' id='player' width="320" height="240" >
<param name='src' value="http://localhost/Test/DownloadAtt.aspx" />
</object>
问题是我无法预先知道视频文件的格式,也就无法预知classid, 所以我希望用方法一来做。
请问是不是我的服务器端的输出(downloadatt.aspx)输出设置不对?
(文件在文件服务器上面,需要动态读取输出)
下面是downloadatt.aspx的内容
public partial class DownloadAtt : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e)
{
string strFileName = @"ParkingExpert4.mpg";
string strFilePathName = Request.PhysicalApplicationPath + @"\" + strFileName;
FileStream fs = new FileStream(strFilePathName, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, (int)fs.Length);
fs.Close();
Response.Clear();
Response.AddHeader("Content-Length", buffer.Length.ToString());
Response.AddHeader("Content-Disposition", "inline; filename=" + strFileName);
Response.AddHeader("Content-Type", "video/mpeg");
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();
}
}