如何使用C#.net或VB.net在ASP.NET中播放Flash视频文件

有几种不同的方法可以在网页上显示视频。 最受欢迎的是Windows Media Player,Quick Time,Adobe Flash或Silverlight。 如果您想了解如何使用Windows Media Player显示视频,则可以阅读如何构建ASP.NET Media Player控件教程。

本教程将重点介绍如何使用Flash在ASP.NET网站上显示Flash视频文件。

Flash已被广泛使用,如今已成为在Internet上播放电影的最常用的技术。 大多数流行的视频共享网站(例如YouTube或Google Video)都使用Flash。 它与几乎所有操作系统和Web浏览器兼容,并且在Internet用户计算机上非常普遍。 要观看Flash电影,用户需要安装Flash Player。 根据我的经验,至少有95%的访客安装了Flash Player,这比其他可用技术还多。 Flash是客户端技术,尽管它可以与静态HTML页面一起使用,但通常由服务器端Web应用程序操纵。

您不能直接显示Flash视频文件。 Flash只是一个使用Action Script编程语言的编程框架。 您需要使用Flash(视频播放器)制作的程序才能在页面上显示.flv视频。 您当然可以学习动作脚本并开发自己的播放器,但这超出了本教程的范围。 我将把任务留给Flash开发人员。 幸运的是,已经有一些免费且非常出色的Flash视频播放器。 使用它们将缩短您的开发周期,并为您提供优质的解决方案。 我选择了JW FLV Player作为最佳解决方案。

在网页上使用JW FLV Player

将Flash应用程序放置到网页时,有两个基本步骤:

  • 首先,声明并启动Flash对象
  • 其次,根据需要设置对象的属性。
您可以通过两种不同的方式来执行此操作,即使用静态HTML标签<OBJECT >和,或者使用JavaScript。

使用静态HTML,您的代码可能如下所示:


<object width=”640″ height=”480″>
<param name=”movie” value=”player.swf” />
</object>
我们需要<object >和标记来获得浏览器兼容性。 Internet Explorer使用<object >标记,但是Firefox和Netscape看不到它,只能识别。 我们使用<param >标记和内部标记来设置参数。

上面的代码示例添加了参数名称“ movie”和值“ player.swf”。 您可以用相同的方式添加任何其他参数。

您可以在其Flash vars页面上看到JW FLV Player支持的参数的完整列表。

http://cdn5.tribalfusion.com/media/2...300x250_v8.swf

如果访问者使用Internet Explorer访问,则静态HTML会出现问题。 除非访问者单击它,否则Flash应用程序将无法启动。 如果只是将光标放在电影上,您会看到一个丑陋的边框。 避免每次页面加载时都需要使用JavaScript启动Flash Player的常见方法。 启动Flash电影JavaScript代码如下所示:

<p id=’preview’>The player will show in this paragraph</p>
<script type=’text/javascript’ src=’swfobject.js’></script>
<script type=’text/javascript’>
var s1 = new SWFObject(‘player.swf’,'player’,’400′,’300′,’9′);
s1.addParam(‘allowfullscreen’,'true’);
s1.addParam(‘allowscriptaccess’,'always’);
s1.addParam(‘flashvars’,'file=video.flv’);
s1.write(‘preview’);
</script>
如您所见,这里没有什么复杂的。 代码动态创建SWFObject,然后设置其参数。 在这种情况下,不需要访客单击即可开始播放电影。 当然,必须在访问者的Web浏览器中启用JavaScript。

使用ASP.NET操纵Flash Player

基本上,使用JW FLV Player播放视频文件很简单,您只需创建一个对象并设置所需的参数即可,如上面的两个代码示例所示。 但是,如果您处理大量视频文件,或者需要使用户能够添加他们的电影,则需要使事情自动化。 为每个视频编写静态HTML代码当然听起来并不专业。 幸运的是,仅需一点ASP.NET代码,我们就可以使此任务变得更加容易。

创建一个自定义ASP.NET Flash Player控件

基本思想是:自定义ASP.NET控件将具有与JW FLV Player参数相关的属性。 在运行时,控件将在客户端呈现适当的内容,因此JW FLV播放器将正确显示视频,并且您可以使用ASP.NET Web应用程序处理Flash视频。 现在,我们可以创建管理ASP.NET页,从数据库加载视频,启用数据库搜索等,而无需进行硬编码。

我创建了执行此任务的ASP.NET JW FLV Flash Video Player控件。 控件是免费的,您可以使用它在网站上显示Flash视频文件。 控制源代码也可以在C#和VB.NET中获得。 下载中包含示例Web项目,以了解其工作原理。

Flash Player控制代码分析

从C#和VB.NET代码清单中可以看到,控制代码由三部分组成:

1.首先声明属性默认值。 对于服务器控制,我使用了与JW FLV Flash Player已经使用的相同的默认值。 我添加了两个附加属性来描述JW FLV .swf和.js文件的位置,如下面的代码所示。

[ C# ]


#region Properties defaults
const string DefaultSwfobject_jsLocation = “”; // in the same directory
const string DefaultFlashPlayerLocation = “”; // in the same directory
const bool DefaultAllowFullScreen = true;
const string DefaultFile = “”;
const bool DefaultAutoStart = false;
const int DefaultBufferLength = 1;
#endregion
[VB.NET]

#Region ”Properties defaults”
Const DefaultSwfobject_jsLocation As String = “” ’ in the same directory
Const DefaultFlashPlayerLocation As String = “” ’ in the same directory
Const DefaultAllowFullScreen As Boolean = True
Const DefaultFile As String = “”
Const DefaultAutoStart As Boolean = False
Const DefaultBufferLength As Integer = 1
#End Region
2.如果每个属性的值与默认值不同,则将其保存到ViewState。 例如,AllowFullScreen属性的代码如下所示:

[ C# ]


[Bindable(true), Category("Settings")]
bool AllowFullScreen
{
  get
  {
    if(ViewState["AllowFullScreen"] == null)
      return DefaultAllowFullScreen;
    else
      return (bool)ViewState["AllowFullScreen"];
  }
  set
  {
     if(value != DefaultAllowFullScreen)
        ViewState["AllowFullScreen"] = value;
      else
        ViewState["AllowFullScreen"] = null;
  }
}
[VB.NET]

<Bindable(True), Category(“Settings”)> _
Property AllowFullScreen() As Boolean
  Get
    If ViewState(“AllowFullScreen”) Is Nothing Then
      Return DefaultAllowFullScreen
    Else
      Return ViewState(“AllowFullScreen”)
    End If
  End Get
  Set(ByVal value As Boolean)
    If value <> DefaultAllowFullScreen Then
      ViewState(“AllowFullScreen”) = value
    Else
        ViewState(“AllowFullScreen”) = Nothing
    End If
  End Set
End Property
3. RenderContents函数产生输出,取决于每个属性的值,如前所述,通过使用JavaScript在客户端正确初始化Flash Player。

结论

使用可操作客户端Flash Player的自定义ASP.NET Flash Player控件,您可以节省大量时间。 我在Firefox和Internet Explorer中测试了控件,并且运行良好。 如果您发现一些错误或有改进建议,请告诉我。

使用ASPNetFlashVideo走向专业

本教程中介绍的控件在某些简单的场景中很有用,但请记住,JW FLV Player仅对非商业项目免费。 幸运的是,有一个名为ASPNetFlashVideo的纯ASP.NET控件,它使您可以轻松地将精美的Adobe Flash Video(FLV)媒体合并到ASP.NET网站中。 只需49美元,您就可以在单个站点上使用它,或者仅需99美元即可在无限数量的网站上使用。 除用于播放Flash视频文件的常用界面命令外,ASPNetFlashVideo支持皮肤,自定义用户界面,播放列表,与Visual Studio集成,搜索引擎优化等。 无需持续的订阅费用,免费的将来更新或30天的退款保证,就可以决定尝试一下。

From: https://bytes.com/topic/asp-net/insights/942046-how-play-flash-video-files-asp-net-using-c-net-vb-net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值