zoukankan      html  css  js  c++  java
  • js下流媒体的在线播放

    1.声音,如:wma,mp3

    只需要一个html标签就可以搞定:<embed>,它会自动调用本机的mediaplayer来对其进行播放。

    2.flash

    也是只需要一个html标签就可以搞定:<embed>。

    3.视频:wmv

    也是只需要一个html标签就可以搞定:<embed>。

    但是如果想用JS以编程的方式进行控制,还是老老实实的用ActiveX对象吧:

     <OBJECT class=OBJECT id=MediaPlayer height=480 width=640 align=left classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95> 
    <param name="AudioStream" value="-1">
    <param name="AutoSize" value="0">
    <param name="AutoStart" value="0">
    <param name="AnimationAtStart" value="-1">
    <param name="AllowScan" value="-1">
    <param name="AllowChangeDisplaySize" value="-1">
    <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="-1">
    <param name="CursorType" value="0">
    <param name="CurrentPosition" value="-1">
    <param name="CurrentMarker" value="0">
    <param name="DefaultFrame" value>
    <param name="DisplayBackColor" value="0">
    <param name="DisplayForeColor" value="16777215">
    <param name="DisplayMode" value="0">
    <param name="DisplaySize" value="4">
    <param name="Enabled" value="-1">
    <param name="EnableContextMenu" value="-1">
    <param name="EnablePositionControls" value="-1">
    <param name="EnableFullScreenControls" value="0">
    <param name="EnableTracker" value="-1">
    <param name="Filename" value="http://ljzforever.gicp.net/media/高等数学/上/gdsxs08.wmv">
    <param name="InvokeURLs" value="-1">
    <param name="Language" value="-1">
    <param name="Mute" value="0">
    <param name="PlayCount" value="0">
    <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="-1">
    <param name="SelectionEnd" value="-1">
    <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="0">
    <param name="ShowGotoBar" value="0">
    <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="0">
    <param name="WindowlessVideo" value="0">
    </OBJECT>

    以下是JS控制方式:

    play()播放

    stop()停止

    pause()暂停

    filename设置文件路径

    4.视频:rm

    代码如下:

    <object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" id="RealAudio1" width="300" height="227"> 
    <param name="_ExtentX" value="7938">
    <param name="_ExtentY" value="6006">
    <param name="AUTOSTART" value="-1">
    <param name="SHUFFLE" value="-1">
    <param name="PREFETCH" value="0">
    <param name="NOLABELS" value="0">
    <param name="SRC" value="http://ljzforever.gicp.net/a.rm">
    <param name="CONTROLS" value="ImageWindow,StatusBar,controlpanel">
    <param name="LOOP" value="0">
    <param name="NUMLOOP" value="0">
    <param name="CENTER" value="-1">
    <param name="MAINTAINASPECT" value="0">
    <param name="BACKGROUNDCOLOR" value="#000000">
    </object>

    js的控制代码如下:

    DoStop() 停止
    DoPlay()播放
    doPause()暂停
    setSource()设置文件来源

    SetPosition()设置进度

    5.视频:flv

    播放这种格式的视频很有意思,通常都是用一个播放器软件来播放视频,而这则是用一个视频充当播放器来播放另一个视频。现在在网上能找到的有两类:开源的vcastr与Google的googleplayer

    vcastr有2.2版与3.0版

    2.2版,可以直接在参数后写地址:

    <embed src="http://192.168.0.195/vcastr.swf" FlashVars="vcastr_file=http://192.168.0.195/2.flv" allowFullScreen="true" quality="high" type="application/x-shockwave-flash" width="400" height="300"></embed>

    3.0版,则全部由xml来表达:

    <object type="application/x-shockwave-flash" data="vcastr3.swf" width="650" height="500" id="vcastr3"> 
    <param name="movie" value="http://192.168.0.195/vcastr3.swf"/>
    <param name="allowFullScreen" value="true" />
    <param name="FlashVars" value="xml=
    <vcastr>
    <channel>
    <item>
    <source>http://192.168.0.195/2.flv</source>
    <duration></duration>
    <title></title>
    </item>
    </channel>
    <config>
    <isAutoPlay>false</isAutoPlay>
    </config>
    <plugins>
    </plugins>
    </vcastr>"/>
    </param>
    </object>

    googleplayer则是通过在googleplayer自己地址的后面通过参数来传达flv地址:

    <embed src="http://ljzforever.gicp.net/googleplayer.swf?videoUrl=http://ljzforever.gicp.net/2.flv" type="application/x-shockwave-flash" wmode="transparent" quality="high" width="450" height="370" autostart="true"></embed> 

    更多的参数与写法,请参考下面的文章。

    我个人推荐用vcastr3.0版,因为其该有的功能都有了,且体积小,只有20+K,而其2.2版无音量调节功能,60+K,googleplayer则有100+K

    6.csf

    这个格式就不用多说了,大学课程基本用的都是这个格式

    首先需要安装ScenicPlayer1.16以上版本。

    <object id="obj_CSF" classid="clsid:8EF11386-FCAF-426D-88B0-62C68E9B5770" width="640px" height="480px" codebase="http://download.collegesoft.com.cn/product/publish/xplayer.cab"> 
    <param name="ValidationCode" value=""/>
    <param name="url" value=""/>
    <param name="ShowToolbar" value="1"/>
    <param name="BufferTime" value="5000"/>
    <param name="AutoPlay" value="1"/>
    <param name="AutoReplay" value="0"/>
    <param name="AutoFullScreen" value="0"/>
    <param name="AutoScreenStretch" value="0"/>
    <param name="DisableVideoAccel" value="0"/>
    <param name="DisableOverlay" value="0"/>
    <param name="UseMoreMonitor" value="0"/>
    <param name="ConnectStyle" value="0"/>
    <param name="MonitorIndex" value="0"/>
    <param name="MainMonitorMode" value="1"/>
    <param name="MaxVideoNumPerMonitor" value="4"/>
    </object>

    JS控制:

    play()播放

    pause()暂停

    stop()停止

    open()打开

    说明:

    我在使用ScenicPlayer进行在线播放的时候,是通过div的隐藏与显示来控制的,发现如果页面初始化的时候如果ScenicPlayer是隐藏的,则将它显示出来加载影片播放时需要加载两次,如果一开始就是显示状态,则是正常的,只需加载一次

    下载:

    vcastr2.2,vcastr3.0,googleplayer:

    http://ljzforever.qupan.com/?folder=950889

    参考的文章:

    embed属性详解

    http://hi.baidu.com/cfugcfug/blog/item/f2384a959bb55348d0135e61.html/cmtid/a980241e8c88161641341714

    如何将音乐文件(如mp3,rm)嵌入到网页中

    http://www.cnblogs.com/renyu732/archive/2005/06/11/172707.html

    如何在网页中播放rm视频文件

    http://topic.csdn.net/t/20050715/15/4147116.htm

    Vcastr 2.2 flv 网络播放器

    http://blog.chinaunix.net/u1/44422/showart_384999.html

    Vcastr 3.0 - flash video(flv) player (开源 Open Source)

    http://www.ruochigroup.com/main/2008/03/19/vcastr-30/

    使用googleplayer.swf在线播放flv文件+googleplayer.swf下载

    http://429006.com/article/Technology/1215.htm

    在网页中嵌入ScenicPlayer控件播放课件和接收直播

    http://download.collegesoft.com.cn/Forums/ShowPost.aspx?PostID=117

    在网页内激活ScenicPlayer应用程序播放课件和接收直播

    http://download.collegesoft.com.cn/Forums/ShowPost.aspx?PostID=118

  • 相关阅读:
    51串口通信
    juicer使用备忘
    51单片机音乐盒程序
    最精简24L01程序--接收
    sqlserver 数据库迁移
    sqlserver自增主键
    js keycode
    tabindex 去掉虚线
    div 绑定keyup
    sqlserver 当前时间减去30天
  • 原文地址:https://www.cnblogs.com/ljzforever/p/1681474.html
Copyright © 2011-2022 走看看