《基于ios平台的视频播放器的设计与实现》由会员分享,可在线阅读,更多相关《基于ios平台的视频播放器的设计与实现(30页珍藏版)》请在金锄头文库上搜索。
1、郑州航空工业管理学院毕业论文(设计) 2015 届 电子通信工程 专业 1113072 班级题 目 基于iOS平台的视频播放器的设计与实现 2015 年 5 月 25 日摘 要摘 要 现在,我们已经越来越进入一个信息技术,科学技术都日益发达的时代,在日常生活中,各式各样的视频播放器应用越来越普及,因此开发一款简单方便的视频播放器是非常迎合用户需求的。本课题就是利用互联网技术的传播广泛性来设计实现的一款手机客户端的视频播放器应用。本课题是基于iOS平台下Objective-C开发语言以及C语言来实现,利用系统提供的类以及第三方类库实现数据加载、视频播放和数据处理,主要实现各类视频信息的展示与播放
2、功能。课题所用的数据接口信息来自第三方供应商,数据来源稳定准确。通过测试,基本可以实现观看视频信息与搜索视频信息的功能,应用程序简单易操作,具有很好的用户体验度。关键词 手机客户端;iOS平台;视频播放器;1AbstractAbstract: With the progress of science and technology, the rapid development of network technology, smart phones now in Chinas development trend in recent years, everyone is there for all
3、to see, mention smartphones have to speak phone software, smart power to run from game entertainment to a variety of software for mobile office. Subject is the use of mobile Internet features provide people with better, more full of game strategy. This topic is to use the Object - the C programming
4、language to implement the iOS software platform game box, by using the system class and the third-party libraries to realize data refresh and loading, image processing, video playback, and data analysis, user base is bigger, also have good development space and prospects. Data used in the project in
5、formation from third party suppliers, ensure the accuracy of the data. Subjects in order to improve the user experience, USES the asynchronous thread processing network request and UI display separately, which makes the program more robust is reasonable.II目 录1概论11.1课题研发的背景11.2课题研究的目的和意义11.3课题预期的目标12
6、相关技术的介绍22.1软件环境22.2核心技术介绍22.2.1内存管理机制22.2.2oc语言33需求分析43.1软件功能需求分析43.1.1视频信息搜索43.1.2视频信息展示43.1.3视频信息播放53.2软件可行性分析54系统设计64.1对象模型64.2MVC模式75系统实现95.1开发所用的关键类95.2应用程序编码实现125.2.1应用程序工作流程125.2.2应用程序管理类135.2.3应用程序工具类145.2.4应用程序功能实现155.2.5应用程序界面实现165.3应用程序模块实现186系统测试23致谢24参考文献24IV基于iOS平台的视频播放器的设计与实现1概论现在,我们已
7、经越来越进入一个信息技术,科学技术都日益发达的时代,视频应用已经日益普及。在我们生活中时时可见对于我们的日常生活来说必不可少的高科技产品,比如平板电脑,智能手机等等。几乎在所有的城市当中,每天都可以看到手持手机专心致志地欣赏视频的人们,这在我们工作生活中有着切身体会。1.1课题研发的背景随着如今智能手机的普及,视频应用不仅仅只是在电脑上有很多人使用,越来越多的手机视频应用出现在各种手机平台上。据大致统计,视频应用在丰富我们的日常生活占据重要组成部分,因此开发一款好用又简单的应用对于开发商来说是一件很具有市场前景的不错的选择。1.2课题研究的目的和意义本项目旨在给广大消费者群体提供一个更方便快捷
8、的网络视频平台。提供对人们生活与娱乐的现状的了解,我们明白这个项目的可行性。通过这个项目,人们可以看到自己想要的视频信息,本项目可以通过分类来达到用户的需求,用户可以根据自己的喜好找到网络视频,通过网络和人们普遍使用的手机等通讯工具来度过自己的娱乐和休闲时间。1.3课题预期的目标本课题研究的主要内容是:利用Objective-C和一些第三方类去实现的一款应用软件,通过对网络进行数据解析、UI框架的搭建、第三方库SDWebImage的使用等实现此应用程序的视频信息的展示以及观看等基本的功能。具体的功能如下:2相关技术的介绍就本课题来说,我们所需要的软件支持和技术支持是我们保证开发进度与完成力度的
9、前提。因此对于本课题中所需要的开发技术说明分为如下两部分:软件环境、核心技术简介。2.1软件环境(1) 硬件环境操作系统:Mac OS X 内存容量:8GB硬盘容量:500GB(2)测试环境模拟器测试配置:iOS iPhone 5s iOS版本:iOS 7.1(3)开发环境1.开发该软件使用的开发工具为Xcode6.0版本。2. 开发该软件使用的开发语言为Objective-C,C语言。2.2核心技术介绍本课题是基于iOS技术利用OC开发语言实现的,使用Xcode编程软件进行开发的,因此我们在进行开发之前需要了解OC中内存管理机制、iOS发展历程、OC语言以及开发工具Xcode等等。2.2.1
10、内存管理机制内存管理是程序设计中常用的资源管理的一部分8。每个计算机系统可供程序使用的资源都是有限的,这些资源包括内存、打开文件数量以及网络连接等。iOS系统为每个应用程分配30MB的内存,超过20MB会收到内存警告,如果超过30MB,系统将会终止你的应用程序,也就是我们熟悉的闪退2。因此我们需要时时的对应用程序进行内存管理。在Objective-C中,对象不断地被其他对象创建、使用和销毁,为了保证程序不产生额外的内存开销,当对象不再需要以后,应当被立即销毁,防止内存泄露8。Objective-C中有一套很完善的内存管理机制,我简单地将它归纳为以下几条:1.对你自己拥有的对象负责。你只能释放你
11、拥有的对象。2.凡是你通过retain,alloc,copy等手段获得了所有权的对象,都必须在你不再使用它的时候,由你来调用release,autorelease等手段来释放对它的所有权。3.在一定的代码段内,对同一个对象所作的copy,alloc和retain的操作次数应当与release和autorelease操作次数相同12。4.可以在类的dealloc方法中释放你所占有的实例变量。2.2.2oc语言Objective-C是一门面向对象的编程语言7。Objective-C语言具有三大特征:封装,继承和多态3。封装:隐藏内部实现,稳定外部接口。继承:子类可以直接复用父类中的成员。多态:不同
12、对象对同一消息的不同响应。3需求分析3.1软件功能需求分析在开发进行之前,我们需要了解我们开发的项目需要实现的功能模块。就本课题来说,视频播放类的APP,最重要的就是视频信息的展示、搜索与播放。下面就单个模块对整个系统实现进行分析。3.1.1视频信息搜索视频信息搜索是视频播放器的功能之一,它主要使用了官方提供的一个系统类,并通过对网址url进行拼接参数实现搜索结果,进行界面展示。用户可以在搜索栏上输入自己想要查询的视频信息名称,应用程序把用户输入的字符作为参数通过拼接网址传给服务器,服务器会返回一个json类型的数据字典,这些数据是通过NSJSON解析处理后,用一个collectionView
13、集合视图来显示返回来的数据并展示在UI界面之上的。3.1.2视频信息展示视频信息展示是视频播放器的主要功能,它主要是根据网络接口数据分析解析并通过UI界面布局之后进行界面展示。程序启动之后,展示在界面上的就是推荐界面的视频信息,用户可以通过点击进入视频模块分区界面。并且根据自己喜好选择自己喜欢的视频信息,进行播放。信息展示主要是通过接口请求到数据进行JSON解析,并将数据保存在字典中,启动程序后,就会进行网络数据请求,回传到的数据展示在UI界面就形成了我们看到的视频信息。3.1.3视频信息播放该视频应用是在webView上面进行在线播放的APP。用户点击视频信息名称,应用程序把用户点击事件获得
14、的参数拼接的网址传给服务器,服务器直接访问对应的播放来源的网站进行在线播放。在程序中每个视频信息都可以通过点击事件来响应视频播放的方法。视频播放主要是通过接口数据得到网址信息,并且选择播放来源时拼接不同的参数来实现在不同网站上播放同一个视频信息的功能。3.2软件可行性分析当前社会是一个信息化的社会,信息的传播无处不在,而且苹果产品的普及也给该系统提供了很好的推广前景。就消费者而言,苹果手机已成为各种消费者群体争先追捧的智能产品。它以及华丽的外形,超高的用户体验度一直强势地占领市场。以此,就社会性而言,该视频应用是非常合时宜的。此系统硬件、软件要求不高,目前市场上的一般计算机硬件资源(例如Mac
15、 mini)均能满足系统开发要求,其中开发工具为Xcode。系统技术采用iOS开发技术,OC开发语言,扩展性强。以上技术足以完成本系统的开发与设计。本系统的开发完全可以利用现有硬件条件,不需增加新的硬件设备。开发所涉及的软件使用的均为免费版本,开发后的应用免费提供给用户,让用户能轻松享受娱乐时光。系统开发基本无需其他开销,费用支出可忽略不计,所以本软件具有极高的经济可行性。4系统设计在完成了对课题的所需技术介绍以及需求分析之后,我们就要对系统实现所需的各种具体类与方法进行设计。在iOS开发过程中,我们一般使用MVC框架对我们的代码模块进行管理,保证类与类之间不冲突,方法与方法之间可复用,代码不冗余。对于本课题而言,我们主要通过对使用对象模型的分析设计,MVC模式的设计来完成系统的设计纲要。4.1对象模型本课题设计的视频播放器应用程序主要由四大对象UIApplicationMa