我正在尝试使用对象在页面上嵌入视频但我的问题是源是在数据库中所以我不能使用url。 我有什么选择? 鉴于我从未使用过ASP.NET中的视频
答案 0 :(得分:1)
假设您使用的是Flash视频播放器,首先需要确保闪存接受变量。如果还没有,你需要对“flashvars”进行一些研究,因为你需要它们将视频源传递给flash播放器。
将Flash视频播放器设置为接受flashvar中的源后,您需要构建.net页面以传递源。我通常这样做的方法是在你的代码后面声明一个公共属性并将源分配给它(但是你需要它是通过查询字符串,会话等)。然后,您将在embed / object标记上的flashvars语句中读取该公共属性。像这样......
在代码后面创建公共属性并赋值:
public string PathToVideo { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
//--- replace with your path
PathToVideo = Page.ResolveClientUrl("~/videos/filename.flv");
}
然后在正面阅读:
<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player"
width="560" height="400">
<param name="movie" value="../js/player.swf" />
<param name="wmode" value="opaque" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="flashvars" value="file=<%= PathToVideo %>&image=<%= PathToVideo.ToLower().Replace("videos/","videos/thumbs/").Replace(".flv",".jpg") %>" />
<embed type="application/x-shockwave-flash" id="player2" name="player2" src="../js/player.swf"
wmode="opaque" width="560" height="400" allowscriptaccess="always" allowfullscreen="true"
flashvars="file=<%= PathToVideo %>&image=<%= PathToVideo.ToLower().Replace("videos/","videos/thumbs/").Replace(".flv",".jpg") %>" />
</object>
在我的embed标签上,您会注意到我传递给flashvars,视频源和缩略图源。这样,当我等待他们按下播放或视频停止时,它会显示第一帧的缩略图。
祝你好运!