视觉基于opencv视频播放器设计

国外播放器  时间:2021-02-22  阅读:()

摘要

本文旨在通过VC++60开发平台开发一个基于OpenCV的视频播放器。 OpenCV是计算机视觉库基于O p e n CV的视频播放器可以更简单的实现AV I视频的播放。

首先本文简单介绍了VC++60软件开发平台 OpenCV计算机视觉库的特点和应用领域计算机视频技术的发展 以及各种视频格式的分类等其次选择在微软的Microsoft Visual Studio 60开发平台上使用C++语言进行开发编写出基于OpenCV的功能简单实用方便的视频播放器。主要包括以下几个方面开发本软件所使用的开发平台与技术功能模块功能设计功能实现等。

关键词 Microsoft Visual Studio 60 OpenCV C++视频播放器 AVI格式

Abstract

This paper aims to develop a VC + + 60 development platform based on the videoplayer OpenCV,OpenCV is based on computer vision, the video player can OpenCVmoresimple real ization video playback AVI

Firstly, the paper simply introduces vc + + 60 software development platform underOpenCV, computer vision, the characteristics and appl ication fields of the l ibrary,computervideo technology development, aswel l asvariousvideo format of classification,Second choice at Microsoft MicrosoftVisual Studio 60 development platform using c++language development, and write a simple and practical OpenCV based on the functionof video player convenience Mainly includes the fol lowing aspects: the development ofthe software development platform and technology of use, Function module, Functionaldesign, Functions,etc

Keywords:Microsoft Visual Studio 60;OpenCV;C++;Video Player;AVI format

目录

1 绪论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.1 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.2 OPENCV简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.2.1 OpenCV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.2.2 OpenCV的应用领域. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.2.3 计算机视觉. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

1.3 论文主要研究内容及研究意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.4 论文组织结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

2 视频技术概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.1 多媒体技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.2 视频格式及视频流播放回放. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

2.2.1 视频格式分类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

2.2.2视频流播放与回放. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

3 OPENCV库使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

3.1 在VC下安装OPENCV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

4 VC开发环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

4.1 VC++的组件工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

4.1.1编译器工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

4.1.2 VC++库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

4.1.3 VC++开发环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

5 视频播放器的设计与实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

5.1 模块划分. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

5.1.1播放器功能模块图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

5.2 详细设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

5.2.1 主界面的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

5.2.2 文件控制的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

5.2.3 播放控制的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

5.2.4 进度控制的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

5.2.5 系统声明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

6 程序运行结果及分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

6.1 运行结果测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

6.2 结果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

结 论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

致 谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

附录A英文原文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

附录B 中文翻译. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

附录C程序源代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55

1绪论

1.1概述

C++语言是一种优秀的面向对象程序设计语言 它在C语言的基础上发展而来但它比C语言更容易为人们学习和掌握。 C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃 C++完美地体现了面向对象的各种特性。 [1]

C++程序设计语言是由来自AT&T Bel l Laboratories的Bjarne Stroustrup设计和实现的 它兼具Simula语言在组织与设计方面的特性以及适用于系统程序设计的C语言设施。 C++最初的版本被称作“带类的C C with classes ”[Stroustrup,1980] 在1980年被第一次投入使用 当时它只支持系统程序设计和数据抽象技术。支持面向对象程序设计的语言设施在1983年被加入C++之后面向对象设计方法和面向对象程序设计技术就逐渐进入了C++领域。在1985年 C++第一次投入商业市场。在1987至1989年间支持范型程序设计的语言设施也被加进了C++。 [2]

随着若干独立开发的C++实现产品的出现和广泛应用正式的C++标准化工作在1990年启动。标准化工作由ANSI American National Standard Institute 以及后来加入的ISO  International Standards Organization负责。 1998年正式发布了C++语言的国际标准[C++,1998]。

而VC是基于C C++语言主要由是MFC组成是与系统联系非常紧密的编程工具 它兼有高级和低级语言的双重性功能强大灵活执行效率高几乎可说VC在Windows平台无所不能。 [3]

AVI Audio Video Interleave是一种音频视像交插记录的数字视频文件格式。1992年初Microsoft公司推出了AVI技术及其应用软件VFWVideo for Windows 。在AV I文件中运动图像和伴音数据是以交织的方式存储 并独立于硬件设备。这种按交替方式组织音频和视像数据的方式可使得读取视频数据流时能更有效地从存储媒介得到连续的信息。 AVI可以算是Windows操作系统上最基本的也是最常用的一种媒体文件格式 兼容性比较好。构成一个AV I文件的主要参数包括视像参数、伴音参数和压缩参数等。

OpenCV是Intel公司支持的开源计算机视觉库。它轻量级而且高效——由一系列

C函数和少量C++类构成 实现了图像处理和计算机视觉方面的很多通用算法。

计算机视觉市场巨大而且持续增长且这方面没有标准API  目前的计算机视觉软件大概有以下三种

1研究代码慢不稳定独立并与其他库布兼容

2耗费很高的商业化工具比如Halcon,MATLAB+Simul ink

3依赖硬件的一些特别的解决方案比如视频监控制造控制系统 医疗设备

这是目前的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。

本文在此基础上设计一个基于OpenCV的视频播放器可以更简捷的实现avi格式视频文件的播放暂停停止等操作。

1.2 OPENCV简介

121 OpenCV

OpenCV是Intel资助的开源计算机视觉库。它由一系列C函数和少量C++类构成实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV拥有包括300多个C/C++函数的跨平台的中、高层API。它不依赖与其它的外部库尽管也可以使用某些外部库。

OpenCV对非商业应用和商业应用都是免费的。另外OpenCV也为Intel公司的Integrated Performance Primitives (IPP)提供了透明接口。 这意味着如果有为特定处理器INTEL的处理器优化的的IPP库 OpenCV将在运行时自动加载这些库。

OpenCV的一个目标是构建一个简单易用的计算机视觉框架 以帮助开发人员更便捷地设计更复杂的计算机视觉相关应用程序。 OpenCV包含的函数有500多个覆盖了计算机视觉的许多应用领域 如工厂产品检测、医学成像、信息安全、用户界面、摄像机标定、立体视觉和机器人等。 因为计算机视觉和机器学习密切相关所以OpenCV还提供了MLL(Machine Learning Library)机器学习库。该机器学习库侧重于统计方面的模式识别和聚类(clustering)。 MLL除了用在视觉相关的任务中还可以方便地应用于其他的机器学习场合。

开发OpenCV的目的是为了促进CPU密集型应用。为了达到这一目的 Intel启动

了多个项目包括实时光线追踪和三维显示墙。一个在Intel工作的OpenCV作者在访问一些大学时注意到许多顶尖大学中的研究组(如MIT媒体实验室)拥有很好的内部使用的开放计算机视觉库——(在学生们之间互相传播的代码)这会帮助一个新生从高的起点开始他/她的计算机视觉研究。这样一个新生可以在以前的基础上继续开始研究而不用从底层写基本函数。

因此 OpenCV的目的是开发一个普遍可用的计算机视觉库。在Intel的性能库团队的帮助下 OpenCV实现了一些核心代码以及算法 并发给Intel俄罗斯的库团队。这就是OpenCV的诞生之地在与软件性能库团队的合作下 它开始于Intel的研究中心 并在俄罗斯得到实现和优化。

122 OpenCV的应用领域

大多数计算机科学家和程序员已经意识到计算机视觉的重要作用。但是很少有人知道计算机视觉的所有应用。例如大多数人或多或少地知道计算机视觉可用在监控方面也知道视觉被越来越多地用在网络图像和视频方面。少数人也了解计算机视觉在游戏界面方面的应用。但是很少有人了解大多数航空和街道地图图像(如Google的Street View)也大量使用计算机定标和图像拼接技术。一些人知道安全监控、无人飞行器或生物医学分析等方面的应用但是很少人知道机器视觉是多么广泛地被用在工厂中差不多所有的大规模制造的产品都在流水线上的某个环节上自动使用视觉检测。

OpenCV所有的开放源代码协议允许用户使用OpenCV的全部代码或者OpenCV的部分代码生成商业产品。使用了OpenCV后 用户不必对公众开放自己的源代码或改善后的算法 虽然Intel公司非常希望用户能够开放源代码。许多公司(IBM Microsoft  SONY Siemens和Google等其他公司)和研究单位(例如斯坦福大学、 MIT、 CMU、剑桥大学和INRIA)中的人都广泛使用OpenCV 其部分原因是OpenCV采用了这个宽松的协议。 Yahoo groups里有一个OpenCV论坛() 用户可以在此发帖提问和讨论该论坛大约有20000个会员。 OpenCV在全世界广受欢迎在中国、 日本、俄罗斯、欧洲和以色列都有庞大的用户群。

自从OpenCV在1999年1月发布alpha版本开始 它就被广泛用在许多应用领域、产品和研究成果中。相关应用包括卫星地图和电子地图的拼接 扫描图像的对齐 医学图像去噪(消噪或滤波) 图像中的物体分析安全和入侵检测系统 自动监视和安全

系统 制造业中的产品质量检测系统摄像机标定军事应用 无人飞行器 无人汽车和无人水下机器人。将视觉识别技术用在声谱图上 OpenCV可以进行声音和音乐识别。在斯坦福大学的Stanley机器人项目中 OpenCV是其视觉系统的关键部分。Stanley在DARPA机器人沙漠挑战赛中赢得了二百万美元奖金[Thrun06]。 [4]

123计算机视觉

计算机视觉是将来自静止图像或视频的数据转换成一个决策或者一种新的表达方式的过程所有的这些转换都是为了达到某个目标。输入数据可以包含一些辅助信息如“摄像机架在汽车上”或“激光扫描仪在1米处发现一个物体”。最终的决策可能是“场景中有一个人”或“在这个切片中有14个肿瘤细胞”。一种新的表达方式可以是将一张彩色照片转为灰度照片或者从图像序列中去除摄像机晃动影响。

因为人类是视觉动物所以会误以为可以很容易地实现计算机视觉。 当人们凝视图像时就会很容易从中找到一辆汽车。人们凭直觉会觉得很容易。人脑将视觉信号划分入很多个通道将各种不同的信息输入了大脑。大脑有一个关注系统会根据任务识别出图像的重要部分 并做重点分析而其他部分则分析得较少。在人类视觉流中存在大量的反馈但是目前我们对之了解甚少。肌肉控制的传感器以及其他所有传感器的输入信息之间存在广泛的关联这使得大脑可以依赖从出生以来所学到的信息。大脑中的反馈在信息处理的各个阶段都存在在传感器硬件(眼睛)中也存在。在眼睛中通过反馈来调节通过瞳孔的进光量 以及调节视网膜表面上的接收单元。

在计算机视觉系统中计算机接接收到的是来自摄像机或者磁盘文件的一个数值矩阵。一般来说没有内置的模式识别系统没有自动控制的对焦和光圈没有多年来经验的积累。视觉系统通常很低级。

实际上计算机视觉问题比前面我们提到的更糟糕 它是不可解的。给出三维世界的二维视图是没有固定方法来重建出三维信息的。在理论上此类病态问题没有惟一和确定的解。即使数据很完美 同一张二维图像也可以表示多种三维场景。然而如前面提到的数据会被噪声和形变影响。这些影响来自真实世界的变化(天气、光线、反射、运动)镜头和机械结构的不完美传感器上的长时间感应(运动模糊)传感器上和其他电子器件上的电子噪声 以及图像采集后的图像压缩引入的变化。都是很令人头疼的问题。

设计实际系统时 为了克服视觉传感器的限制通常会使用一些其他的上下文知识。考虑这样一个例子移动机器人在室内寻找并捡起订书机。机器人可以利用这个先验知识可在办公室内发现桌子订书机最可能在桌子上被找到。这给出了一个隐含的尺寸参考或参照也就是订书机能够放在桌子上。这也可以用于消除在不可能的地方(例如在天花板或者窗户上)错误识别出订书机的可能性。机器人也完全可以忽略一个200英尺大小的跟订书机形状类似的广告飞艇 因为飞艇周围没有桌子的木纹背景。与之相反在图像检索中数据库中的所有订书机图像都是对真正的订书机拍摄的而且尺寸很大和形状不规划的订书机图像一般不可能被拍到。也就是拍摄者一般只拍摄真正的、普通大小的订书机图像。而且人们拍照时一般会将被拍物体置于中心且将物体放在最能表现其特征的方向上。 因此在由人拍摄的图像中具有相当多的隐含信息。 [5]

人们也可以使用机器学习技术对上下文信息进行显式建模。隐含的变量(例如物体大小、重力方向及其他变量)都可以通过标记好的训练数据里的数值来校正。或者也可以通过其他的传感器来测量隐含的变量。使用激光扫描仪可以精确测量出一个物体的大小。计算机视觉面临的另一个难题是噪声问题。我们一般使用统计的方法来克服噪声。例如一般来说不可能通过比较一个点和它紧密相邻的点来检测图像里的边缘。但是如果观察一个局部区域的统计特征边缘检测会变得容易些。 由局部区域卷积的响应连成的点串构成边缘。另外可以通过时间维度上的统计来抑制噪声。还有一些其他的技术可以从数据中学习显式模型来解决噪声和畸变问题。例如镜头畸变可以通过学习一个简单多项式模型的参数来描述这种畸变然后可以几乎完全校正这种畸变。

计算机视觉拟根据摄像机数据来采取行动或者做出决策这样的行动或决策是在一个指特定目的或任务的环境中来解决。我们从图像去除噪声和损坏区域可以让监控系统在有人爬过栅栏时给出报警或者在一个游乐园里监控系统能够数出总共有多少人通过了某个区域。在办公室巡游的机器人的视觉软件所采用的方法与固定摄像机的不同 因为这两个系统有不同的应用环境和目标。通用的规律是对计算机视觉应用环境的约束越多则越能够使用这些约束来简化问题从而使最终的解决方案越可靠。 [6]

OpenCV的目标是为解决计算机视觉问题提供基本工具。在有些情况下 它提供的高层函数可以高效地解决计算机视觉中的一些很复杂的问题。 当没有高层函数时

RAKsmart便宜美国/日本/中国香港VPS主机 低至月$1.99 可安装Windows

RAKsmart 商家这几年还是在做事情的,虽然他们家顺带做的VPS主机并不是主营业务,毕竟当下的基础云服务器竞争过于激烈,他们家主营业务的独立服务器。包括在去年开始有新增多个数据中心独立服务器,包括有10G带宽的不限流量的独立服务器。当然,如果有需要便宜VPS主机的他们家也是有的,比如有最低月付1.99美元的美国VPS主机,而且可选安装Windows系统。这里商家有提供下面六款六月份的活动便宜V...

VPSDime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

VPSDime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:VPSDime夏季促销:美国达拉斯VPS/2G内存/2核/20gSSD/1T流量/$20/年,此次推出一款Windows VPS,依然是...

腾讯云爆款秒杀:1C2G5M服务器38元/年,CDN流量包6元起

农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...

国外播放器为你推荐
查看端口怎么查看服务器的端口fontfamilyfont-family:"microsoft yahei",simhei; 这句到底设置为微软雅黑还是黑体,为什么写2个字体?微信如何建群微信如何建群正则表达式javajava正则表达式不兼容Google play 服务提示不兼容怎么办?办公协同软件协同企业办公的软件有哪些?qq怎么发邮件手机QQ怎么发邮件ios7固件下载ios7发布当天是否有固件下载安装迅雷看看播放器迅雷看看播放器安装idc前线钢铁雄心2修改器
免费云主机 安徽双线服务器租用 blackfriday edis mediafire 视频存储服务器 softbank官网 密码泄露 lamp配置 admit的用法 服务器干什么用的 百度云1t 卡巴斯基免费试用 昆明蜗牛家 网游服务器 免费网页申请 全能空间 photobucket 阿里云手机官网 域名转入 更多