4

可能重复:
是否可以在视频和音频标签中使用数据 URI?

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

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

.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。

4

1 回答 1

5

您可以使用 windows 媒体播放器播放 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。

因为您将文件作为字节数组(数据库源),所以您需要创建通用处理程序(ashx)来将此文件流式传输到媒体播放器。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

于 2012-10-10T16:31:21.460 回答