QWebView 播放网络视频
最近想看某站的VIP视频,但是网络上的软件用着都不怎么习惯,还有些要收费(收费还不如买VIP了..),所以自己研究做个网络播放器,使用的是QWebView。
1.设置WebView
ui->webView->settings()->setAttribute(QWebSettings::PluginsEnabled,true);
ui->webView->settings()->setAttribute(QWebSettings::JavaEnabled,true);
ui->webView->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);
ui->webView->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows,true);
ui->webView->settings()->setAttribute(QWebSettings::JavascriptCanAccessClipboard,true);
ui->webView->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled,true);
ui->webView->settings()->setAttribute(QWebSettings::SpatialNavigationEnabled,true);
ui->webView->settings()->setAttribute(QWebSettings::LinksIncludedInFocusChain,true);
ui->webView->settings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled,true);
ui->webView->settings()->setAttribute(QWebSettings::AutoLoadImages,true);
2.加载网页之后,网页存在链接,要使链接生效,则需要设置
ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
3.当点击网页中的链接会触发信号(前提是设置链接生效)=》linkClicked(const QUrl &arg1)
void MainWindow::on_webView_linkClicked(const QUrl &arg1)
{
ui->webView->load(arg1);
}
4.这时候运行就能上网了,但是播放视频显示flash过期,查了哈是需要安装 flash player for firefox,安装之后运行:

5.至此可以播放视频了,但是却发现点击网页内的搜索等按钮是没有反应的,这可不行,重写QWebPage
bool MyWebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, QWebPage::NavigationType type)
{
if(type == || type == )//如果是用户点击
{
if(frame != mainFrame()){ //如果不是在本窗口的连接
emit openLink(request.url());//发送打开新连接信号
}else{
emit loadLink(request.url());//发送点击连接信号
}
} return QWebPage::acceptNavigationRequest(frame, request, type);
}
6.ok,到这里基本上可以满足我看视频的需求了,附结果图(鬼吹灯第14集):

QWebView 播放网络视频的更多相关文章
- Android Multimedia框架总结(二)MediaPlayer框架及播放网络视频案例
		前言:前面一篇我们介绍MediaPlayer相关方法,有人说,没有实际例子,看得不是很明白,今天在分析MediaPlayer时,顺带一个播放网络视频例子.可以自行试试.今天分析的都是下几篇介绍各个模块 ... 
- Android 使用PLDroidPlayer播放网络视频 依据视频角度自己主动旋转
		近期由于项目需求 .须要播放网络视频 .于是乎 研究了一番 ,说说我遇到的那些坑 如今市面上有几个比較主流好用的第三方框架 Vitamio ( 体积比較大,有商业化风险 github:https:// ... 
- 照相、从相册上取照片、播放音频、播放本地视频、播放网络视频、MPMoviePlayerController
		一.照相.从相册上去照片 1. 先判断是否支持照相功能 *判断当前设备是否支持照相功能,支持返回YES 否则返回NO 注意:模拟器不支持照相功能 把握一个原则只要是物理硬件相关的功能模拟器都不支持 例 ... 
- Android VideoView无法播放网络视频
		今天学习Android播放视频和音频,其中在练习播放视频的时候无法播放网络视频,网络视频是别人发布在网上的,但是把视频放在本地是可以的,最后推测是没有开放网络的访问权限的问题,果然开放了之后就能正常访 ... 
- android 随手记 videoview循环播放网络视频 和mediaplayer+sufaceview播放网络视频
		1:videoview循环播放视频 1>xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res ... 
- Android使用VideoView播放网络视频
		Android支持播放网络上的视频.在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP.这 两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP ... 
- Android内嵌VLC实现播放网络视频,网络音频
		1.在对应模块的build.gradle文件中,添加依赖 //VlC implementation "de.mrmaffen:vlc-android-sdk:2.0.6" 2.布局 ... 
- Android VideoView播放网络视频简介(转)
		最近项目中用到了很多视频播放的地方,不管是聊天发送的视频消息,还是类似内涵段子的视频列表,都会涉及这些知识,不过网上的知识都很零散,一会找缓存方法,一会找预览图片的方法,一会找视频动态修改尺寸的方法, ... 
- ios网络学习------9 播放网络视频
		IOS提供了叫做MPMoviePlayerController MPMoviePlayerViewController两个类.能够轻松用来实现视频播放. MPMoviePlayerViewContr ... 
随机推荐
- 监控系统Opserver
			监控系统Opserver的配置调试 Stack Exchange开源其监控系统Opserver有一段时间了.之前在项目中用过他们的MiniProfile来分析页面执行效率和帮助新人了解项目,当他们 ... 
- c# 即使服务又是可执行程序的代码实现
			先看下代码 namespace UpdaterServer { class Program { static void Main(string[] args) { ) { ServiceBase[] ... 
- 对中级 Linux 用户有用的 20 个命令
			也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定 ... 
- IceMx.Mvc 我的js MVC 框架七、完善植物大战僵尸(增加阳光的消费和获得)
			话不多说,先上图 这次增加了阳光的消费和获得,增加了阳光的点击动画 重新排布了布局 有兴趣的话就研究下吧. 上一篇有朋友说让我把项目放到github上面维护,本人没用过这个,肯请朋友们帮小弟科普一下放 ... 
- Ping其他电脑ping不通的解决方法
			要想Ping通其他电脑,首先要看被PING的电脑,是否允许PING. 一.在被PING电脑操作系统为XP下分为:1.被PING 电脑关闭了防火墙,就完全可以PING通:2.被PING 电脑开了防火墙, ... 
- Windows应用商店API
			Windows应用商店API 动手实验 实验 8: Windows应用商店API 2012年9月 简介 编写Windows应用商店应用最令人瞩目的理由之一是您可以方便地将它们发布到Windows应用商 ... 
- [置顶] javascript-基于对象or面向对象?
			最近完成了javascript的初级学习,在这个学习的视频中,我特别注意了两个词,解释性语言和对象,javascript按照我的理解,应该是种解释性语言,他有关于面向对象的思想的体现,但是,他和vb一 ... 
- 通过VNC Viewer使用VMware虚拟机的远程桌面连接
			本文转自:http://www.14blog.com/archives/185 要在VMware虚拟机中使用远程桌面连接?方法有两个:一种是在虚拟机中做“端口映射”,当然,这个稍显复杂(虚拟机端口映射 ... 
- iOS 指南针的制作 附带源码
			iOS 指南针的制作 附带源码 代码下载地址: http://vdisk.weibo.com/s/HK4yE http://pan.baidu.com/share/link?shareid=7 ... 
- javascript构造函数以及原型对象的理解
			以下是一个构造函数的例子 如果是实例方法,不同的实例化,它们引用的地址是不一样的,是唯一的. //定义一个构造函数 function People(name,age){ this.name=name; ... 
