| 
    
      
         
          |   为网页加播放器实现在线播放的代码实例  | 
         
         
          |   来源:网页教学网   人气:830   录入时间:2007-11-8  | 
         
         
           
                  我们在网页上看到的播放器无外乎WMP/RealOne/Macromedia Flash Player,其他的无非是面板不同,或者添加了其他控件,对于计算机上安装的一些播放器也都是编码和解码器的整合,其最核心的编码和解码技术是相同的。例如:网络上最流行的windows media流(asf,wma,wmv格式...),Real流(rm,rmvb...),还有MPEG系列编码格式(MP4/MP3格式...)
    
      Windows Media Video 是微软推出的一种流媒体格式,它是在“同门”的ASF(Advanced Stream Format)格式升级延伸来得.在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输。Windows Media Player9兼容所有格式的WMV,官方编码器是Windows Media Encoder ,但是如果你想转制 高质量的wmv文件,那您一定要有超大的内存来处理数据...
    
      无意中发现CASTPOST的播放器可以自己定义大小,对于WMV格式的在线播放可以说已经足够快了,然后就费了好大劲把一些精彩的短片和一些经典的MTV转化WMV格式放了上来,尽管现在不能下载了,但是只要不是连接人数过多,播放起来还是很流畅的^_^
    
      WMP加入了ActiveX解码器控件,不仅可以放曲子,还能放Flash和其它视频文件
    
      <object align=middle classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class=OBJECT id=MediaPlayer width=196 height=196> 
    <param name=ShowStatusBar value=0> 
    <param name=Filename value="http://202.116.*.*/video/story/chinese/hynh/b.wmv"> 
    <embed type=application/x-oleobject codebase="http://activex.microsoft.com/activex/con ... n/nsmp2inf.cab#Version=5,1,52,701" > 
    </embed> 
    </object> 
    
      想用WMP连续播放请参照ASX元文件使用讲解:使用ASX播放列表吧
    
      上面的这个播放器是老式的那种,6.4版本!新式播放器是在MediaPlayer9.0以后出现的,也就是说只有装了9.0或9.0以上的播放器才能正常使用的。
    
      -------------------------------------------------------------------
    
      下面是新式播放器代码,相对以前的来说要简单很多:
    
      <object id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"> 
    <param NAME="AutoStart" VALUE="-1"> 
    <!--是否自动播放--> 
    <param NAME="Balance" VALUE="0"> 
    <!--调整左右声道平衡,同上面旧播放器代码--> 
    <param name="enabled" value="-1"> 
    <!--播放器是否可人为控制--> 
    <param NAME="EnableContextMenu" VALUE="-1"> 
    <!--是否启用上下文菜单--> 
    <param NAME="url" value="/blog/1.wma"> 
    <!--播放的文件地址--> 
    <param NAME="PlayCount" VALUE="1"> 
    <!--播放次数控制,为整数--> 
    <param name="rate" value="1"> 
    <!--播放速率控制,1为正常,允许小数,1.0-2.0--> 
    <param name="currentPosition" value="0"> 
    <!--控件设置:当前位置--> 
    <param name="currentMarker" value="0"> 
    <!--控件设置:当前标记--> 
    <param name="defaultFrame" value=""> 
    <!--显示默认框架--> 
    <param name="invokeURLs" value="0"> 
    <!--脚本命令设置:是否调用URL--> 
    <param name="baseURL" value=""> 
    <!--脚本命令设置:被调用的URL--> 
    <param name="stretchToFit" value="0"> 
    <!--是否按比例伸展--> 
    <param name="volume" value="50"> 
    <!--默认声音大小0%-100%,50则为50%--> 
    <param name="mute" value="0"> 
    <!--是否静音--> 
    <param name="uiMode" value="mini"> 
    <!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示--> 
    <param name="windowlessVideo" value="0"> 
    <!--如果是0可以允许全屏,否则只能在窗口中查看--> 
    <param name="fullScreen" value="0"> 
    <!--开始播放是否自动全屏--> 
    <param name="enableErrorDialogs" value="-1"> 
    <!--是否启用错误提示报告--> 
    <param name="SAMIStyle" value> 
    <!--SAMI样式--> 
    <param name="SAMILang" value> 
    <!--SAMI语言--> 
    <param name="SAMIFilename" value> 
    <!--字幕ID--> 
    </object> 
    
      ----------------------------------------------------------------
    
      RealOne播放器代码:
    
      <object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=300> 
    <param name="_ExtentX" value="11298"> 
    <param name="_ExtentY" value="7938"> 
    <param name="AUTOSTART" value="-1"> 
    <param name="SHUFFLE" value="0"> 
    <param name="PREFETCH" value="0"> 
    <param name="NOLABELS" value="-1"> 
    <param name="SRC" value="rtsp://211.89.225.1/encoder/cnr3";> 
    <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"> 
    </object> <object id="vid2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=30> 
    <param name="_ExtentX" value="11298"> 
    <param name="_ExtentY" value="794"> 
    <param name="AUTOSTART" value="-1"> 
    <param name="SHUFFLE" value="0"> 
    <param name="PREFETCH" value="0"> 
    <param name="NOLABELS" value="-1"> 
    <param name="SRC" value="rtsp://211.89.225.1/encoder/cnr3";> 
    <param name="CONTROLS" value="ControlPanel"> 
    <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"> 
    </object> 
    
    
      ------------------------------------------------------------------
    
      看着很多很复杂的样子,其实就是多了些播放器参数,可以不要...
    
      Real Player 网页播放器 参数含义
    
      参数:autostart 属性:True或是False 作用:指定是否自动播放指定的源文件
    
      参数:backgroundcolor 属性:任何用符号“#”开头的16进制数值或是任何预定义的颜色作用:指定图像窗口的背景颜色
    
      参数:center 属性:True或是False 作用:指定片断使用初始编码大小播放,并且在图像窗口的中央。
    
      参数:classid 属性:"clsid:CFCDAA03-8BE4-1lcf-B84B0020AFBBCCFA:** 作用:用于指定ActiveX控件的唯一的字符串标示,可以认出嵌入的RealPalyer播放器。
    
      参数:console 属性:任何字符串作用:可以将各种不同的RealPlayer控制聚集在网页上,这样它们可以交互使用或是保持独立,而且互相不影响
    
      参数:controls 属性:ImageWindow,All,ControlPanel,PlavButton,PlayOnlyButton, PauseButton,StopButton,FFCtrl,RWCtrl,MuteCtrl,MuteVolume,VolumeSlider,PositionSlider,TACCtrl,HomeCtrl,InfoVolumePanel,InfoPanel,StatusBar,StatusField,PositionField 作用:可以让你指定那些控制是可见的。
    
      参数:height 属性:任何整数值作用:指定RealPlayer元素的高度,单位:像素
    
      参数:id 属性:任何字符串作用:为标签中的RealPlayer元素指定名字。
    
      参数:imagestatus 属性:True或是False 作用:指定是否在图像窗口中显示状态信息,默认值是true
    
      参数:loop 属性:True或是False 作用:可以让你指定片断是否无限循环
    
      参数:maintainaspect 属性:True或是False 作用:默认RealPlayer拉伸所有的片断来充满整个图像窗口。
    
      参数:name 属性:任何字符串作用:为标签中的RealPlayer元素指定名字(在标签中使用id)
    
      参数:nojava 属性:True或是False 作用:避免启动Java虚拟机
    
      参数:nolabels 属性:True或是False 作用:可以禁止显示标题或是版权信息(realplayer5.0以上时,它是垃圾...)
    
      参数:nologo 属性:True或是False 作用:避免RealPlayer启动时在图像窗口中显示
    
      参数:numloop 属性:任何整数值作用:让你能够指定文件片循环的次数,不需要参数loop
    参数:prefetch 属性:True或是False 作用:指定在播放前,RealPlayer是否可以获得流描述信息,默认值是False
    
      参数:region 属性:任何字符串作用:同SMIL一起使用。允许你指定使用HTML代替SMIL
    
      参数:scriptcallbacks 属性:用逗号分割的列表作用:指定浏览器的回调监控(好高级的东东!)
    
      参数:shuffle 属性:True或是False 作用:同多文件片的ram文件或是SMIL文件一起使用。可以让RealPlayer随机播放列表中的文件
    
      参数:src 属性:任何合法的相对或是完整的URL 作用:指定播放的文件或是源文件的地址
    
      参数:type 属性:字符串作用:为嵌入插件指定MIME类型
    
      参数:width 属性:任何整数值作用:指定RealPlayer元素的宽度
    
      RealPlayer的一些函数、方法和过程
    
      这是 Real Player ActiveX Control Library (Version 1.0) 的所有函数与方法,有兴趣可以研究一下。
    
      function GetSource: WideString;
    
      procedure SetSource(const lpszNewValue: WideString);
    
      function GetConsole: WideString;
    
      procedure SetConsole(const lpszNewValue: WideString);
    
      function GetControls: WideString;
    
      procedure SetControls(const lpszNewValue: WideString);
    
      function GetNoLabels: WordBool;
    
      procedure SetNoLabels(bNewValue: WordBool);
    
      function GetAutoStart: WordBool;
    
      procedure SetAutoStart(bNewValue: WordBool);
    
      function GetAutoGotoURL: WordBool;
    
      procedure SetAutoGotoURL(bNewValue: WordBool);
    
      function GetVolume: Smallint;
    
      procedure SetVolume(nVol: Smallint);
    
      function GetMute: WordBool;
    
      procedure SetMute(bMute: WordBool);
    
      function GetLoop: WordBool;
    
      procedure SetLoop(bVal: WordBool);
    
      function GetImageStatus: WordBool;
    
      procedure SetImageStatus(bEnable: WordBool);
    
      function GetPacketsTotal: Integer;
    
      function GetPacketsReceived: Integer;
    
      function GetPacketsOutOfOrder: Integer;
    
      function GetPacketsMissing: Integer;
    
      function GetPacketsEarly: Integer;
    
      function GetPacketsLate: Integer;
    
      function GetBandwidthAverage: Integer;
    
      function GetBandwidthCurrent: Integer;
    
      procedure DoPlayPause;
    
      procedure DoStop;
    
      procedure DoNextItem;
    
      procedure DoPrevItem;
    
      function CanPlayPause: WordBool;
    
      function CanStop: WordBool;
    
      function HasNextItem: WordBool;
    
      function HasPrevItem: WordBool;
    
      function HasNextEntry: WordBool;
    
      function HasPrevEntry: WordBool;
    
      procedure DoNextEntry;
    
      procedure DoPrevEntry;
    
      procedure AboutBox;
    
      procedure EditPreferences;
    
      procedure HideShowStatistics;
    
      function IsStatisticsVisible: WordBool;
    
      procedure DoGotoURL(const url: WideString; const target: WideString);
    
      procedure DoPlay;
    
      procedure DoPause;
    
      function GetPosition: Integer;
    
      function GetPlayState: Integer;
    
      function GetLength: Integer;
    
      function GetTitle: WideString;
    
      function GetAuthor: WideString;
    
      function GetCopyright: WideString;
    
      function GetClipWidth: Integer;
    
      function GetClipHeight: Integer;
    
      function CanPlay: WordBool;
    
      function CanPause: WordBool;
    
      procedure SetPosition(lPosition: Integer);
    
      function GetNumLoop: Integer;
    
      procedure SetNumLoop(lVal: Integer);
    
      function GetCenter: WordBool;
    
      procedure SetCenter(bVal: WordBool);
    
      function GetNoLogo: WordBool;
    
      procedure SetNoLogo(bVal: WordBool);
    
      function GetMaintainAspect: WordBool;
    
      procedure SetMaintainAspect(bVal: WordBool);
    
      function GetBackgroundColor: WideString;
    
      procedure SetBackgroundColor(const pVal: WideString);
    
      function GetStereoState: WordBool;
    
      function GetLiveState: WordBool;
    
      function GetShowStatistics: WordBool;
    
      procedure SetShowStatistics(bVal: WordBool);
    
      function GetShowPreferences: WordBool;
    
      procedure SetShowPreferences(bVal: WordBool);
    
      function GetShowonmouseover WordBool;
    
      procedure SetShowAbou
    
     
    
             
             
             | 
         
         
          |   | 
         
       
  
 |