做了个网上视频教学的网站,视频转换成了swf格式,有三个问题请教:
1、用户只有完整看完本节视频之后,才可以点击下一节,怎么控制?
2、怎么记录用户观看的进度,下次进入时,从上次的播放位置继续观看。
3、怎么能有播放进度条,但是又不让用户往后拖着看。
播放视频代码如下:<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="360" height="280">
         <param name="movie" value="shipin1.swf">
         <param name="quality" value="high">
         <param name="wmode" value="opaque">
<PARAM NAME="menu" VALUE="false">
<param name="loop" value="false">
         <param name="swfversion" value="11.0.0.0">
         <!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 -->
         <param name="expressinstall" value="../Scripts/expressInstall.swf">
         <!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
         <!--[if !IE]>-->
         <object type="application/x-shockwave-flash" data="<%=strVideoSrc%>" width="360" height="280">
           <!--<![endif]-->
           <param name="quality" value="high">
           <param name="wmode" value="opaque">
           <param name="swfversion" value="11.0.0.0">
           <param name="expressinstall" value="../Scripts/expressInstall.swf">
           <!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 -->
           <div>
             <h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4>
             <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" width="112" height="33" /></a></p>
           </div>
           <!--[if !IE]>-->
         </object>
         <!--<![endif]-->
       </object>

解决方案 »

  1.   

    1、用户只有完整看完本节视频之后,才可以点击下一节,怎么控制?
    如果全在一个swf里,那你是完全可控制。从开始播放视频开始记录一下时间,当然考虑到网速断网情况,或者无法精确计算,特别是引用外部视频。如果是导入视频就直接在帧里写代码,那是完全精确的。
    2、怎么记录用户观看的进度,下次进入时,从上次的播放位置继续观看。
    首先得是下次从缓存中读取swf文件,我记得flash里可以保存一个值的,相关请查看sharedobject
    3、怎么能有播放进度条,但是又不让用户往后拖着看。
    这个简单,自己写进度条,你不写拖放动作自然就不能拖着看。
      

  2.   

    建议你把视频装换成Flv格式。用swf播放器去加载Flv。
    flash里面有个叫“flvplayeback”组件,用他去载入flv,他有很多skin,你可以去选择。
    监听videodisply的播放完毕事件,一旦播放完毕,修改flvplayeback里面的source为第二节的flv路径,设置自动播放autoPlay=false。
    用ShareObject来实现断点续放是最好的办法。ShareObject你就把他当成永远不过期的cookies就行了。
    至于进度条那个,不让用户拖动,那么我就不显示,我显示播放的时间进度。
      

  3.   

    flash不懂啊,能请教请教吗,加我QQ吧:940154985
      

  4.   

    用ShareObject来实现断点续放是最好的办法。这个,有没有简单的实例,可以参考的?我安装了flash cs5了,可是不知道怎么用ShareObject。视频我已经转换成了flv格式。
      

  5.   

    http://www.blueidea.com/tech/multimedia/2003/534.asp
    网上百度 flash ShareObject 很多的
      

  6.   

    同时去学习一下 flash as中的 addEventListener是如何工作的。
      

  7.   

    不知道如果用html5能否很方便解决楼主的问题,只是现在支持html5的浏览器还不多
      

  8.   


    看了1和3我想我不会喜欢这个网站。太浪费时间了。对于2,可能可以用Flash和Javascript进行交互,然后把用户播放信息写在cookies里