VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 273|回复: 4

关于视频播放HTML5和FLASH两种方式的问题

[复制链接]
13_avatar_middle
最佳答案
0 
在线会员 发表于 2021-7-12 10:31:29 | 显示全部楼层 |阅读模式
我在上一个帖子中发出求助如何在播放页面播放当前视频的问题,研究了不少时间仍然没有解决,只知道这个网站是用的保利威播放器(网上可以查到一些云直播和云点播的资料),默认是以HTML5模式播放视频的,这种方式好解决,  用cpp2019提供的 var obj = document.getElementsByClassName('pv-playpause pv-iconfont pv-icon-btn-play');
    obj[0].click();,就可以在chrome控制台下播放了,但在win7、IE11下只能以FLASH模式播放,而我又是用集成的webbrowser控件进行视频播放的,所以只能以FLASH模式进行播放了。
chrome浏览器下,因为支持HTML5播放,所以加载后的源代码有 <div class="pv-controls-left">
      <button type="button" class="pv-playpause pv-iconfont pv-icon-btn-play"></button>
      <div class="pv-time-wrap">
        <span class="pv-time-current">32:55</span>
        <span class="pv-time-separator">/</span>
        <span class="pv-time-duration">33:11</span>
      </div>
    </div>
而IE下源代码只能看到</script>
        <div id="video_box"><object width="583" height="327" class="polyvFlashObject" id="5eeda83092d4485ade9fb622331d0843_5" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" type="application/x-shockwave-flash"><PARAM NAME="_cx" VALUE="15425"><PARAM NAME="_cy" VALUE="8652"><PARAM NAME="FlashVars" VALUE="watchStartTime=62&amp;vid=5eeda83092d4485ade9fb622331d0843_5&amp;start=-1&amp;end=-1&amp;session_id=5eeda83092&amp;speed=false&amp;"><PARAM NAME="Movie" VALUE="//player.polyv.net/videos/player.swf"><PARAM NAME="Src" VALUE="//player.polyv.net/videos/player.swf"><PARAM NAME="WMode" VALUE="Transparent"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE="LT"><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE="always"><PARAM NAME="Scale" VALUE="NoScale"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE="FFFFFF"><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="true"><PARAM NAME="AllowFullScreenInteractive" VALUE="false"><PARAM NAME="IsDependent" VALUE="0"><PARAM NAME="BrowserZoom" VALUE="scale"><PARAM NAME="IsTainted" VALUE="-1"><param name="flashvars" value="watchStartTime=62&amp;vid=5eeda83092d4485ade9fb622331d0843_5&amp;start=-1&amp;end=-1&amp;session_id=5eeda83092&amp;speed=false&amp;"><param name="allowScriptAccess" value="always"><param name="allowFullScreen" value="true"><param name="quality" value="high"><param name="bgcolor" value="#ffffff"><param name="wmode" value="transparent"><param name="movie" value="//player.polyv.net/videos/player.swf"></object></div>

<!--        <div id="video_box" class="audio_player"></div>-->
请各位大神指点一下,该如何在webbrowser中播放当前视频
加载后.png
打开后.png




上一篇:为什么在调用父类虚函数
下一篇:如何把 字符串转成虚拟按键码
31_avatar_middle
最佳答案
48 
在线会员 发表于 2021-7-12 20:29:13 | 显示全部楼层
这东西真不难,IE也是可以HTML5播放视频的。
视频: https://streamja.com/05ZX1
31_avatar_middle
最佳答案
48 
在线会员 发表于 2021-7-12 16:35:29 | 显示全部楼层
本帖最后由 cpp2019 于 2021-7-12 16:39 编辑

修改浏览器为IE9以上版本,IE9以上版本支持HTML5视频播放。
或者模拟成chrome试试能不能HTML5播放,把UA设置为 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 即可。

再不行就来个简单粗暴的方法,播放页面加载完后,播放按钮的坐标是固定的,模拟点击播放按钮,简单粗暴。
13_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-7-19 11:19:00 | 显示全部楼层
CString playId = _T("vedioBox");
                                        ClickBtn(playId);//原来用于点击网页指定ID元素,现在用于获取网页指定ID元素坐标。
                                        long x, y;
                                        x = (m_left + m_width) / 2;
                                        y = (m_top + m_height) / 2;
                                       
                                        ::SendMessage(hWndChild, WM_LBUTTONDOWN, MK_LBUTTON,(x + y));
                                        ::SendMessage(hWndChild, WM_LBUTTONUP, MK_LBUTTON,(x + y));
上述代码想在获取flash位置后,在flash中心位置模拟鼠标点击一次(实际上在flash内任意位置点一下和点击播放按钮效果是一样的),可执行起来没有任何反应,求大佬指教。
13_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-7-19 16:04:39 | 显示全部楼层
::SendMessage(hWndChild, WM_LBUTTONDOWN,0, x+y*65536);
::SendMessage(hWndChild, WM_LBUTTONUP, 0, x + y * 65536);
参照别人的做法,可以点击了。关于视频播放HTML5和FLASH两种方式的问题
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2021-10-17 04:54

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表