1。avi格式

代码片断如下:

<object id="video" width="400" height="200" border="0"  
classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">

<param name="ShowDisplay" value="0">

<param name="ShowControls" value="1">

<param name="AutoStart" value="1">

<param name="AutoRewind" value="0">

<param name="PlayCount" value="0">

<param name="Appearance value="0 value=""">

<param name="BorderStyle value="0 value=""">

<param name="MovieWindowHeight" value="240">

<param name="MovieWindowWidth" value="320">

<param name="FileName" value="/Mbar。avi">

<embed width="400" height="200" border="0" showdisplay="0"  
showc autostart="1" autorewind="0" playcount="0"  
moviewindowheight="240" moviewindowwidth="320" filename="/Mbar。avi"  
src="Mbar。avi">

</embed>

</object>

2。mpg格式

代码片断如下:

<object classid="clsid:05589FA1-C356-11CE-BF01-00AA0055595A" id="ActiveMovie1"  
width="239" height="250">

<param name="Appearance" value="0">

<param name="AutoStart" value="-1">

<param name="AllowChangeDisplayMode" value="-1">

<param name="AllowHideDisplay" value="0">

<param name="AllowHideControls" value="-1">

<param name="AutoRewind" value="-1">

<param name="Balance" value="0">

<param name="CurrentPosition" value="0">

<param name="DisplayBackColor" value="0">

<param name="DisplayForeColor" value="16777215">

<param name="DisplayMode" value="0">

<param name="Enabled" value="-1">

<param name="EnableContextMenu" value="-1">

<param name="EnablePositionControls" value="-1">

<param name="EnableSelectionControls" value="0">

<param name="EnableTracker" value="-1">

<param name="Filename" value="/mpeg/halali。mpg" valuetype="ref">

<param name="FullScreenMode" value="0">

<param name="MovieWindowSize" value="0">

<param name="PlayCount" value="1">

<param name="Rate" value="1">

<param name="SelectionStart" value="-1">

<param name="SelectionEnd" value="-1">

<param name="ShowControls" value="-1">

<param name="ShowDisplay" value="-1">

<param name="ShowPositionControls" value="0">

<param name="ShowTracker" value="-1">

<param name="Volume" value="-480">

</object>

3。smi格式

代码片断如下:

<OBJECT id=RVOCX classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA width=240  
height=180>

<param name="_ExtentX" value="6350">

<param name="_ExtentY" value="4763">

<param name="AUTOSTART" value="-1">

<param name="SHUFFLE" value="0">

<param name="PREFETCH" value="0">

<param name="NOLABELS" value="-1">

<param name="SRC" value="rm。rm">

<param name="CONTROLS" value="ImageWindow">

<param name="CONSOLE" value="console1">

<param name="LOOP" value="0">

<param name="NUMLOOP" value="0">

<param name="CENTER" value="0">

<param name="MAINTAINASPECT" value="0">

<param name="BACKGROUNDCOLOR" value="#000000"><embed  
src="real。smi" type="audio/x-pn-realaudio-plugin" c  
c height="180" width="240"  
autostart="true"></OBJECT>

4。rm格式

代码片断如下:

<OBJECT ID=video1 CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"  
HEIGHT=288 WIDTH=352>

<param name="_ExtentX" value="9313">

<param name="_ExtentY" value="7620">

<param name="AUTOSTART" value="0">

<param name="SHUFFLE" value="0">

<param name="PREFETCH" value="0">

<param name="NOLABELS" value="0">

<param name="SRC" value="rtsp://203。*。*。35/vod/dawan-a。rm">

<param name="CONTROLS" value="ImageWindow">

<param name="CONSOLE" value="Clip1">

<param name="LOOP" value="0">

<param name="NUMLOOP" value="0">

<param name="CENTER" value="0">

<param name="MAINTAINASPECT" value="0">

<param name="BACKGROUNDCOLOR" value="#000000"><embed  
SRC type="audio/x-pn-realaudio-plugin" C C  
HEIGHT="288" WIDTH="352" AUTOSTART="false">

</OBJECT>

5。wmv格式

代码片断如下:

<object id="NSPlay" width=200 height=180 classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"  
codebase="http://activex。microsoft。com/activex/controls/mplayer/en/nsmp2inf。cab#Version=6,4,5,715"  
standby="Loading Microsoft Windows Media Player components。。。" type="application/x-oleobject"  
align="right" hspace="5">

<param name="AutoRewind" value=1>

<param name="FileName" value="/blog/******。wmv">

<param name="ShowControls" value="1">

<param name="ShowPositionControls" value="0">

<param name="ShowAudioControls" value="1">

<param name="ShowTracker" value="0">

<param name="ShowDisplay" value="0">

<param name="ShowStatusBar" value="0">

<param name="ShowGotoBar" value="0">

<param name="ShowCaptioning" value="0">

<param name="AutoStart" value=1>

<param name="Volume" value="-2500">

<param name="AnimationAtStart" value="0">

<param name="TransparentAtStart" value="0">

<param name="AllowChangeDisplaySize" value="0">

<param name="AllowScan" value="0">

<param name="EnableContextMenu" value="0">

<param name="ClickToPlay" value="0">

</object>

6。wma格式

放在 <body> 里面。下面是部分解释:

<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1"  

<param name="Filename" value="/blog/1。Wma"> <!--你文件的位置-->

<param name="PlayCount" value="1"><!--控制重复次数: “x”为几重复播放几次;  
x=0,无限循环。-->

<param name="AutoStart" value="0"><!--控制播放方式: x=1,打开网页自动播放;  
x=0,按播放键播放。-->

<param name="ClickToPlay" value="1"><!--控制播放开关:  
x=1,可鼠标点击控制播放或暂停状态; x=0,禁用此功能。-->

<param name="DisplaySize" value="0"><!--控制播放画面:  
x=0,原始大小; x=1,一半大小; x=2,2倍大小。-->

<param name="EnableFullScreen Controls" value="1"><!--控制切换全屏:  
x=1,允许切换为全屏; x=0,禁用此功能。-->

<param name="ShowAudio Controls" value="1"><!--控制音量:  
x=1,允许调节音量; x=0,禁止音量调节。-->

<param name="EnableContext Menu" value="1"><!--控制快捷菜单:  
x=1,允许使用右键菜单; x=0,禁用右键菜单。-->

<param name="ShowDisplay" value="1"><!--控制版权信息:  
x=1,显示电影及作者信息;x=0,不显示相关信息-->

</object>  
7。Windows Media Player 系列(不同面板样式)

综合型:

<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 codebase="http://activex。microsoft。com/activex/controls/mplayer/en/nsmp2inf。cab#Version=6,1,5,217"

id=MediaPlayer type=application/x-oleobject width=210 height=340 standby="Loading  
Microsoft Windows Media Player components。。。" VIEWASTEXT align=MIDDLE>

<param name=AudioStream value=-1>

<param name=AutoSize value=0>

<param name=AutoStart value=1>

<param name=AnimationAtStart value=0>

<param name=AllowScan value=-1>

<param name=AllowChangeDisplaySize value=0>

<param name=AutoRewind value=0>

<param name=Balance value=0>

<param name=BaseURL value="">

<param name=BufferingTime value=5>

<param name=CaptioningID value="">

<param name=ClickToPlay value=0>

<param name=CursorType value=32512>

<param name=CurrentPosition value=-1>

<param name=CurrentMarker value=0>

<param name=DefaultFrame value=1>

<param name=DisplayBackColor value=0>

<param name=DisplayForeColor value=16777215>

<param name=DisplayMode value=0>

<param name=DisplaySize value=0>

<param name=Enabled value=-1>

<param name=EnableContextMenu value=-1>

<param name=EnablePositionControls value=0>

<param name=EnableFullScreenControls value=0>

<param name=EnableTracker value=1>

<param name=Filename value="http://202。102。*。*/flash/2/fff。swf">

<param name=InvokeURLs value=-1>

<param name=Language value=-1>

<param name=Mute value=0>

<param name=PlayCount value=1>

<param name=PreviewMode value=0>

<param name=Rate value=1>

<param name=SAMILang value="">

<param name=SAMIStyle value="">

<param name=SAMIFileName value="">

<param name=SelectionStart value=0>

<param name=SelectionEnd value=true>

<param name=SendOpenStateChangeEvents value=-1>

<param name=SendWarningEvents value=-1>

<param name=SendErrorEvents value=-1>

<param name=SendKeyboardEvents value=0>

<param name=SendMouseClickEvents value=0>

<param name=SendMouseMoveEvents value=0>

<param name=SendPlayStateChangeEvents value=-1>

<param name=ShowCaptioning value=0>

<param name=ShowControls value=1>

<param name=ShowAudioControls value=1>

<param name=ShowDisplay value=1>

<param name=ShowGotoBar value=1>

<param name=ShowPositionControls value=1>

<param name=ShowStatusBar value=1>

<param name=ShowTracker value=1>

<param name=TransparentAtStart value=0>

<param name=VideoBorderWidth value=0>

<param name=VideoBorderColor value=0>

<param name=VideoBorder3D value=0>

<param name=Volume value=-1070>

<param name=WindowlessVideo value=1>

</object>

简易型:

<EMBED src=http://www。*。com/mediadate/lxlhbcn。asf style="HEIGHT: 45px;  
WIDTH: 190px" type=audio/mpeg AUTOSTART="1" loop="0">

</EMBED>

标签型:

<embed width=240 height=140 transparentatstart=true animationatstart=false  
autostart=true autosize=false volume=100 displaysize=0 showdisplay=true showstatusbar=true  
showcontrols=true showaudiocontrols=true showtracker=true showpositioncontrols=true  
balance=true src="http://www。*。com/mediadate/lxlhbcn。asf">

</embed>  
媒体播放器的外观界面

在网页中,你可以通过相关属性来控制媒体播放器的哪些部分出现,哪些部分不出现。

媒体播放器包括如下元素:

Video Display Panel:视频显示面板;

Video Border:视频边框;

Closed Captioning Display Panel;字幕显示面板;

Track Bar;搜索栏;

Control Bar with Audio and Position Controls:带有声音和位置控制的控制栏;

Go To Bar:转到栏;

Display Panel:显示面板;

Status Bar:状态栏;

下面的属性用来决定显示哪一个元素:

ShowControls 属性:是否显示控制栏(包括播放控件及可选的声音和位置控件);

ShowAudioControls 属性:是否在控制栏显示声音控件(静音按钮和音量滑块);

ShowPositionControls 属性:是否在控制栏显示位置控件(包括向后跳进、快退、快进、向前跳进、预览播放列表中的每个剪辑);

ShowTracker 属性:是否显示搜索栏;

ShowDisplay 属性:是否显示显示面板(用来提供节目与剪辑的信息);

ShowCaptioning 属性:是否显示字幕显示面板;

ShowGotoBar 属性:是否显示转到栏;

ShowStatusBar 属性:是否显示状态栏;

□播放列表

媒体播放器提供下面的方法来访问播放列表中的剪辑:

Next 方法,跳到节目(播放列表)中的下一个剪辑;

Previous 方法,跳回到节目中的上一个剪辑;

媒体播放器的一个特性是能够预览节目中的每一个剪辑,使用如下属性:

PreviewMode 属性,决定媒体播放器当前是否处于预览模式;

CanPreview 属性,决定媒体播放器能否处于预览模式;

在windows 媒体元文件中,可以为每一个剪辑指定预览时间——PREVIEWDURATION,如果没有指定,那么默认的预览时间是10秒钟。

你也可以用Windows 媒体元文件来添加 watermarks 与 banners,元文件也支持插入广告时的无间隙流切换。

□节目信息

使用 GetMediaInfoString 方法可以返回相关剪辑或节目的如下信息:

文件名:File name

标题:Title

描述:Description

作者:Author

版权:Copyright

级别:Rating

URLs:logo icon、watermark、banner的地址

剪辑信息可以放在媒体文件中,也可以放在Windows 媒体元文件中,或者两者都放。如果在元文件中指定了剪辑信息,那么用 GetMediaInfoString  
方法返回的就是元文件中的信息,而不会返回剪辑中包含的信息。

在元文件中,附加信息可以放置在每一个剪辑或节目的 PARAM标签中。你可以为每个剪辑添加任意多个 PARAM 标签,用来存储自定义的信息或链接到相关站点。在  
PARAM 标签中的信息可以通过 GetMediaParameter 方法来访问。

下面的属性返回有关大小和时间的信息:

ImageSourceHeight、ImageSourceWidth:返回图像窗口的显示尺寸;

Duration 属性,返回剪辑的长度(秒), 要检测这个属性是否包含有效的数值,请检查IsDurationValid 属性。(对于广播的视频,其长度是不可预知的)。

□字幕

你可以用 。smi 文件来为你的节目添加字幕。媒体播放器支持下面的属性来处理字幕:

SAMIFileName 属性,指定 。smi 文件的名字;

SAMILang 属性,指定字幕的语言(如果没有指定则使用第一种语言);

SAMIStyle 属性,指定字幕的文字大小和样式;

ShowCaptioning 属性,决定是否显示字幕显示面板; 
□脚本命令

伴随音频、视频流,你可以在流媒体文件中加入脚本命令。脚本命令是多媒体流中与特定时间同步的多对Unicode串。第一个串标识待发命令的类型,第二个串指定要执行的命令。

当流播放到与脚本相关的时间时,控件会向网页发送一个 ScriptCommand事件,然后由事件处理进程来响应这个事件。脚本命令字符串会作为脚本命令事件的参数传递给事件处理器。

媒体播放器会自动处理下面类型的内嵌脚本命令:

1)URL型命令:当媒体播放器控件收到一个URL型的命令时,指定的URL会被装载到用户的默认浏览器。如果媒体播放器嵌在一个分帧的HTML文件中,URL页可以装载到由脚本命令指定的帧内。如果脚本命令没有指定一个帧,将由  
DefaultFrame 属性决定将 URL 页装入哪一帧。

你可以通过设置 InvokeURLs 属性来决定是否自动处理 URL 型的脚本命令。如果这个属性的值为 false ,媒体播放器控件将忽视 URL型命令。但是脚本命令事件仍会触发,这就允许你有选择地处理  
URL 型命令。

URL 型命令指定的是 URL 的相对地址。基地址是由 BaseURL属性指定的。媒体播放器控件传送的脚本命令事件的命令参数是链接好的地址。

2)FILENAME型命令:当媒体播放器控件收到一个FILENAME型的命令时,它将 FileName属性设置为脚本命令提供的文件,之后媒体播放器会打开这个文件开始播放。  
媒体播放器控件总是自动处理 FILENAME 型命令,不象 URL 型命令,它们不能被禁止。

3)TEXT型命令:当媒体播放器控件收到一个 TEXT型的命令时,它会将命令的内容显示在控件的字幕窗口。内容可以是纯文本的,也可以是 HTML。

4)EVENT型命令:当媒体播放器控件收到一个 EVENT型的命令时,它会在媒体元文件中搜索 EVENT 元素的 NAME 属性。如果 NAME 属性与脚本命令中的第二个字符串匹配,媒体播放器控件就执行包含在  
EVENT 元素中的条目。

5)OPENEVENT型命令:当媒体播放器控件收到一个 OPENEVENT型的命令时,它会在媒体元文件中检查 EVENT 元素,并打开匹配的标题,但不播放,直到收到来自  
EVENT型命令的同名真实事件。

□捕捉键盘和鼠标事件

EnableContextMenu 与 ClickToPlay 属性为用户提供了在图像窗口进行操作的方法。

如果 EnableContextMenu 属性为 true ,在图像窗口右击鼠标可以打开关联菜单,如果将ClickToPlay 属性设为 true ,用户可以单击图像窗口进行播放与暂停的切换。

要接收鼠标移动和单击事件,请将 SendMouseMoveEvents 和 SendMouseClickEvents 属性设为 true 。鼠标事件有:

MouseDown,当用户按下鼠标时产生;

MouseUp,当用户释放鼠标时产生;

MouseMove,当用户移动鼠标时产生;

Click,当用户在媒体播放器上单击鼠标按钮时产生;

DbClick,当用户在媒体播放器上双击鼠标按钮时产生;

要接收键盘事件,请将 SendKeyboardEvents 属性设为 true 。键盘事件有:

KeyDown,当用户按下一个键时产生;

KeyUp,当用户释放一个键时产生;

KeyPress,当用户按下并释放一个键时产生;

□监测流状态与网络链接

流状态属性包括:

PlayState:播放状态;

OpenState:打开状态;

Bandwidth:带宽;

支持的事件有:

OpenStateChange:打开状态改变(仅当SendOpenStateChangeEvents属性为true时触发)

PlayStateChange:播放状态改变(仅当SendPlayStateChangeEvents属性为true时触发)

EndOfStream:流结束时触发;

NewStream:打开新流时触发;

网络接收属性包括:

ReceptionQuality:接收质量;

ReceivedPackets:已经收到的包;

LostPackets:丢失的包;

监测缓冲的属性有:

BufferingTime:缓冲时间;

BufferingCount:缓冲次数;

BufferingProgress:缓冲进程;

Buffering:缓冲事件;  
□错误处理

媒体播放器提供了内建的错误处理功能——在对话框或状态栏显示错误信息。 另外,你可以自己添加错误处理程序。如果 SendErrorEvents 属性设置为  
true,将不会显示错误框,而是发送错误事件;如果 SendErrorEvents 属性设置为 false,将显示错误框,而是发送错误事件。

媒体播放器支持下面的错误处理事件:

Error 事件,指有危险性错误发生;

Warning 事件,指发生了非危险性的错误;

当你的应用程序接收到一个错误事件,你可以检测下面的属性来确定具体的错误信息:

HasError:检测目前的媒体播放器是否有错误;

ErrorCode:提供与该类型错误相关的代码值;

ErrorDescription:提供错误的描述信息;

ErrorCorrection:指定媒体播放器对该类型的错误进行校正;

□播放CD

媒体播放器将 CD 看作(在每个音轨的开头具有标记的)单一音频流。 要在网页中使用CD,你需要将 FileName 属性设为 CDAUDI,必须带有冒号,如下所示:

<HTML>

<HEAD><TITLE>CD Audio Playback Example</TITLE></HEAD>

<BODY>

<OBJECT ID="MediaPlayer"

CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"

WIDTH="320"

HEIGHT="508"

STYLE="position:absolute; left:0px; top:70px;" >

<PARAM NAME="FileName" VALUE="cdaudi">

<PARAM NAME="AutoStart" VALUE="0">

<PARAM NAME="ShowControls" VALUE="1">

<PARAM NAME="ShowStatusBar" VALUE="1">

<PARAM NAME="ShowDisplay" VALUE="1">

</OBJECT>

</BODY>

</HTML>

之后你可以用 Play 方法播放 CD 了。

你可以在 windows 媒体元文件中指定播放顺序以及每个音轨的信息。示例如下:

<ASX VERSION="3。0">

<TITLE>CD Audio with the Media Player</TITLE>

<AUTHOR>Windows Media Technologies</AUTHOR>

<COPYRIGHT>(c) 1999, Microsoft, Inc。</COPYRIGHT>

<ENTRY>

<TITLE>Track 1: Title 1</TITLE>

<REF href="/blog/cdaudi" />

<STARTMARKER NUMBER="1"/>

<ENDMARKER NUMBER="2"/>

</ENTRY>

<ENTRY>

<TITLE>Track 2: Title 2</TITLE>

<REF href="/blog/cdaudi" />

<STARTMARKER NUMBER="2"/>

<ENDMARKER NUMBER="3"/>

</ENTRY>

<ENTRY>

<TITLE>Track 3: Title 3</TITLE>

<REF href="/blog/cdaudi" />

<STARTMARKER NUMBER="3"/>

<ENDMARKER NUMBER="4"/>

</ENTRY>

<ENTRY>

<TITLE>Track 4: Title 4</TITLE>

<REF href="/blog/cdaudi" />

<STARTMARKER NUMBER="4"/>

</ENTRY>

</ASX>

asp.net各种类型视频播放代码(全)的更多相关文章

  1. html制作简单框架网页二 实现自己的影音驿站 操作步骤及源文件下载 (可播放mp4、avi、mpg、asx、swf各种文件的视频播放代码)

    新增视频播放功能如下图: 左侧网页left.html代码如下: <meta charset="utf-8"> <body style="backgrou ...

  2. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(5)(IEnumerable<>补充)

    Asp.net 5的依赖注入注入系列可以参考链接: [Asp.net 5] DependencyInjection项目代码分析-目录 我们在之前讲微软的实现时,对于OpenIEnumerableSer ...

  3. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(3)

    这个系列已经写了5篇,链接地址如下: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Auto ...

  4. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(4)

    这个系列已经写了6篇,链接地址如下: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Auto ...

  5. ASP.NET CheckBoxList 控件实现全选、反选、清除功能 利用js

    直接看代码: JS代码如下: <script type="text/javascript" language="javascript"> funct ...

  6. asp.net 引发类型为“System.OutOfMemoryException”的异常

    asp.net 引发类型为“System.OutOfMemoryException”的异常通常发生在IIS进程获取不到内存时. 临时解决方法是: 回收IIS的应用程序池. 如果要比较好的解决办法是: ...

  7. Windows Socket五种I/O模型——代码全攻略(转)

    Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模式.可以通过多线程技术进行处理. 非阻塞模式:执行I/O操 ...

  8. H5视频播放自动全屏,暂停退出全屏等功能

    html5视频播放自动全屏,暂停退出全屏等功能 在参考了html5 video fullScreen全屏实现方式及司徒正美的书<javascript框架设计>287页相关代码后,在Safa ...

  9. [Asp.net 5] DependencyInjection项目代码分析-目录

    微软DI文章系列如下所示: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Autofac [ ...

随机推荐

  1. IOS学习2

    1. #import,#include 和@class的区别 都引用一个类,根本定义区别:#include ,#import会把所有的copy一份到该文件 #import比#include的优势,im ...

  2. delphi 更改不了窗体的标题

    delphi定义变量名千万要注意,不能和关键字同名,今天我无意间定义了一个caption的变量  导致我怎么都不能修改窗的标题.

  3. @Styles.Render

    1.@Styles.Render 在页面上可以用@Styles.Render("~/Content/css") 来加载css 首先要在App_Start 里面BundleConfi ...

  4. python 循环、循环设计、循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1.循环 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进 ...

  5. eval和new Function的区别

    eval和new Function都可以动态解析和执行字符串.但是它们对解析内容的运行环境判定不同. var a = 'global scope' function b(){ var a = 'loc ...

  6. "Programming"和"Programming"是同一个"Programming"吗?

    什么意思? C语言没有专门的字符串类型,但是,它同样可以处理字符串.本文不是讨论字符串的使用,而是讨论C字符串之间的关系.如题,在C语言代码中,如果定义#define STR = "Prog ...

  7. squid基础配置

    1 2 3 4 5 6 7 8 9 10 vim /etc/squid/squid.conf    http_port 192.168.1.12:3128 (可写多个) cache_mem 64MB  ...

  8. 如何查看hadoop与hbase的版本匹配关系

    官网:http://hbase.apache.org/book.html 搜索:Hadoop version support matrix 下面有一个二维的支持关系表.

  9. OC-通讯录

    要求描述:用OC语言完成简易通讯录(实现增删改查)功能.(注:使用MRC) 1.创建AddressBook类. 1)使用字典作为容器,字典的Key值为分组名(姓名首字母),value值为数组,数组中存 ...

  10. 容器适配器之queue

    转载http://blog.csdn.net/thefutureisour/article/details/7751846容器适配器容器适配器其实就是一个接口转换装置,使得我们能用特定的方法去操作一些 ...