c# - 在 ASP.Net 中从字节数组播放 AVI 文件

标签 c# asp.net

<分区>

Possible Duplicate:
Is it possible to use data URIs in video and audio tags?

是否可以像显示数据库中的图像一样简单地播放存储在数据库中的视频文件?

要显示来自数据库的图像,这就是我使用的;

aspx文件

<asp:Image ID="PicImage" runat="server" />

cs文件

PicImage.Attributes.Add("src", "data:image/png;base64," + Convert.ToBase64String(PictureByteArray));

你认为,我可以先在服务器中创建文件而使用下面的这些东西吗?

<embed src="video.avi" />
<img dynsrc="video.avi" />
<object data="video.avi" type="video/avi" />

我怎样才能做到这一点?

我知道 Silverlight 不能播放 .avi 文件,只能播放 wmv。

最佳答案

您可以使用 windows media player 播放 avi 文件。这是 html 代码:

<OBJECT ID="MediaPlayer" WIDTH="320" HEIGHT="160" CLASSID="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
 STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject">
 <PARAM NAME="FileName" VALUE="yourFile.avi">
 <PARAM name="autostart" VALUE="false">
 <PARAM name="ShowControls" VALUE="true">
 <param name="ShowStatusBar" value="false">
 <PARAM name="ShowDisplay" VALUE="false">
 <EMBED TYPE="application/x-mplayer2" SRC="yourFile.avi" NAME="MediaPlayer"
 WIDTH="320" HEIGHT="160" ShowControls="1" ShowStatusBar="0" ShowDisplay="0" autostart="0"> </EMBED>
 </OBJECT>

也可以使用FlashPlayer。

因为您将文件作为字节数组(db 源),您将需要创建通用处理程序 (ashx) 以将此文件流式传输到 Media Player。 FileName 的 Html 参数将如下所示:

<PARAM NAME="FileName" VALUE="handler.ashx?file=yourFile">

确保像这样在 ashx 处理程序中设置正确的 ContentType:

context.Response.ContentType = "video/avi";
context.Response.Write(fileData, 0, fileData.Length);

这是让您开始使用 ashx 文件的链接:

http://msdn.microsoft.com/en-us/library/bb398986(v=vs.100).aspx

关于c# - 在 ASP.Net 中从字节数组播放 AVI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823922/

相关文章:

asp.net - 如何在 ASP.NET MVC4 Web API 中捕获未定义的 api 方法调用

javascript - url-Encode 与 Base64 编码(用法)?

javascript - 为什么我的代码在 external.js 文件中无法运行,但在 HTML 中却可以运行

javascript - ASP.NET多用户控制客户端ID问题

c# - HttpContext.Current.Session 不清楚的行为 bool 值

asp.net - 覆盖母版页上控件中的功能

c# - LinkedList 比 List 迭代更快?

c# - 如何针对 Azure SQL 数据库使用嵌套 TransactionScope

c# - 筛选后选中的行变为未选中

c# - 通用嵌套类型 : cannot convert from X<T> to X<T>