博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET播放Flash(.SWF)视频
阅读量:5326 次
发布时间:2019-06-14

本文共 2598 字,大约阅读时间需要 8 分钟。

一个媒体站点少不了播放Flash视频,此博文Insus.NET教你实现。

由于一个站点也许不止一个地方需要播放flash视频,为了简化代码,因此Insus.NET想把这个播放控件,写入用户控件内,在网页需要时,拉进去并给用户控件赋值即可。

 

建立一个用户控件SwfPlayer.ascx:

<%
@ Control Language
=
"
C#
"
 AutoEventWireup
=
"
true
"
 CodeFile
=
"
SwfPlayer.ascx.cs
"
 Inherits
=
"
SwfPlayer
"
 
%>

SwfPlayer.ascx.cs:

ExpandedBlockStart.gif
SwfPlayer.ascx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public 
partial 
class SwfPlayer : System.Web.UI.UserControl
{
    
private 
string _File;
    
private 
int _Width;
    
private 
int _Height;  
    
//
设置Flash宽度属性
    
public 
int Width
    {
        
set { _Width = value; }
    }
    
//
设置Flash高度属性
    
public 
int Height
    {
        
set { _Height = value; }
    }
    
//
Flash文件
    
public 
string File
    {
        
set { _File = value; }
    }
    
    
protected 
void Page_Load(
object sender, EventArgs e)
    {
    }
    
//
重新Render方法
    
protected 
override 
void Render(HtmlTextWriter writer)
    {   
        
//
Flash对象
        StringBuilder sb = 
new StringBuilder();
        sb.AppendFormat(
"
<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0'width='{0}' height='{1}'>
", _Width, _Height);
        sb.AppendFormat(
"
<param name='movie' value='{0}'>
", _File);
        sb.AppendFormat(
"
<param name='quality' value='high'>
");
        sb.AppendFormat(
"
<embed src='{0}' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='{1}' height='{2}'></embed>
",_File,_Width,_Height);
        sb.Append(
"
</object>
");
        writer.Write(sb.ToString());
    }
}

 

应用这个用户控件,把它拉进网页需要的地方即可。下列html代码的第3行与第13行。

ExpandedBlockStart.gif
View Code
 1 
<%
@ Page Language
=
"
C#
"
 AutoEventWireup
=
"
true
"
 CodeFile
=
"
Default.aspx.cs
"
 Inherits
=
"
_Default
"
 
%>
 2 
 3 
<%
@ Register Src
=
"
SwfPlayer.ascx
"
 TagName
=
"
SwfPlayer
"
 TagPrefix
=
"
uc1
"
 
%>
 4 
 5 
<!
DOCTYPE html
>
 6 
 7 
<
html 
xmlns
="http://www.w3.org/1999/xhtml"
>
 8 
<
head 
runat
="server"
>
 9     
<
title
></
title
>
10 
</
head
>
11 
<
body
>
12     
<
form 
id
="form1"
 runat
="server"
>
13         
<
uc1:SwfPlayer 
ID
="SwfPlayer1"
 runat
="server"
 
/>
14     
</
form
>
15 
</
body
>
16 
</
html
>

 

在.cs的Page_load事件内给用户控件属性赋值:

ExpandedBlockStart.gif
View Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Insus.NET;
public 
partial 
class _Default : System.Web.UI.Page
{
    
protected 
void Page_Load(
object sender, EventArgs e)
    {
        
string file = ResolveUrl(
"
~/FlashFiles/Wildlife.swf
");      
        SwfPlayer1.Width =
400;
        SwfPlayer1.Height = 
300;        
        SwfPlayer1.File = file;
    }
}

 

网页浏览效果:

 

转载于:https://www.cnblogs.com/insus/archive/2012/10/23/2735822.html

你可能感兴趣的文章
hdu 1207 四柱汉诺塔
查看>>
Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇——纯前端多页面)
查看>>
5年内的暴风骤雨:12诱因统领软件行业大革命【转载】
查看>>
display:none与visible:hidden的区别
查看>>
我的PHP学习之路
查看>>
【题解】luogu p2340 奶牛会展
查看>>
wnmp安装配置的坑
查看>>
神奇的Scala Macro之旅(二)- 一个实例
查看>>
sicily 1128. DICE
查看>>
e.Row.Attributes.Add
查看>>
SCOPE_IDENTITY()和 SELECT @@IDENTITY 的用法
查看>>
PLoP(Pattern Languages of Programs,程序设计的模式语言)
查看>>
jquery fileupload
查看>>
对PostgreSQL的 SPI_prepare 的理解。
查看>>
android"百码"2——基础小知识积累(逐步完善)2015-06-15
查看>>
解决响应式布局下兼容性的问题
查看>>
京东静态网页练习记录
查看>>
Filebeat Config 参数详解:
查看>>
使用DBCP连接池对连接进行管理
查看>>
【洛谷】【堆+模拟】P2278 操作系统
查看>>