一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种iOS系统组件化集成视频播放器系统及实施方法与流程

2022-06-16 02:12:29 来源:中国专利 TAG:

一种ios系统组件化集成视频播放器系统及实施方法
技术领域
1.本发明涉及计算机相关领域,具体为一种ios系统组件化集成视频播放器系统及实施方法。


背景技术:

2.随着人们对移动应用中的视频内容需求越来越大,移动应用开发者对自己产品中集成视频播放器功能的需求也随着增加,业务也会变的越来越复杂,视频app业务模块的数量有可能还会继续增加,而且每个业务模块的代码也变的越来越多。这样发展下去单一工程下的视频app架构势必会影响开发效率,增加项目的维护成本,每个工程师都要熟悉如此之多的代码,将很难进行多人协作开发,因为单一工程下代码耦合严重,每修改一处代码后都要重新编译打包测试,导致非常耗时,最重要的是这样的代码想要做单元测试根本无从下手。
3.而大部分移动应用开发者会选择集成可二次开发的开源的播放器框架进入自己的应用工程当中。现有的开源视频播放器例如ijkplayer在ios系统集成需要封装成静态框架(framework),通过拷贝的方式直接加入app工程中,造成开发过程中不能对源码进行修改,调试,源码修改后需要重新封装添加,对移动应用开发者来说,开发灵活性和效率均不佳,不适合开发者深度二次开发。


技术实现要素:

4.本发明的目的在于提供一种ios系统组件化集成视频播放器系统及实施方法,以解决现有的开源视频播放器例如ijkplayer在ios系统集成需要封装成静态框架(framework),通过拷贝的方式直接加入app工程中,造成开发过程中不能对源码进行修改,调试,源码修改后需要重新封装添加,对移动应用开发者来说,开发灵活性和效率均不佳,不适合开发者深度二次开发的问题。
5.为实现上述目的,本发明提供如下技术方案:一种ios系统组件化集成视频播放器系统,其特征在于,包括:
6.源码层:视频播放器所有功能源代码所在层级;
7.组件层:一个独立的工程实例项目,已引入源码层中所需源代码文件,已通过播放器编译所需测试,开发者进行播放器源码的二次封装和开发,具有独立的视频播放功能;
8.应用层:通过引入组件层的功能,可以直接使用组件层的视频播放器最近业务逻辑开发
9.优选的,一种ios系统组件化集成视频播放器实施方法,其特征在于:包括以下步骤:
10.步骤s1、下载ijkplayer源码,保存在对应文件路径下,命名文件夹为ijkplayer;
11.步骤s2、安装xcode依赖库管理工具cocoapods;
12.步骤s3、在步骤s1内ijkplayer文件夹目录下新建组件配置podspec文件;
13.步骤s4、通过编写步骤s3中podspec文件中source_files标签,cocoapods管理工具将根据文件路径,引入ijkplayer工程中ios播放器功能的核心实现代码;
14.步骤s5、通过编写步骤s3中podspec文件中exclude_files标签,cocoapods管理工具将根据文件路径,忽略ijkplayer相关路径下与ios播放器无关的,或者影响编译成功的代码文件;
15.步骤s6、通过编写步骤s3中podspec文件中script_phases标签,配置每次编译需要执行的自定义脚本文件version.sh;
16.步骤s7、通过编写步骤s3中podspec文件中vendored_libraries标签,引入ffmpeg框架的静态库文件;
17.步骤s8、在步骤s1中ijkplayer文件夹目录下新建开发工程dev-ijkplayer;
18.步骤s9、在步骤s8中dev-ijkplayer工程执行pod init命令,生产podfile文件;
19.步骤s10、编写步骤s9中podfile文件引入步骤s3新建的podspec文件,执行pod update命令引入本地组件代码;
20.步骤s11、开发者进行在dev-ijkplayer工程中的播放器源码的二次封装和开发调试,完成自定义视频播放器的功能开发;
21.步骤s12、将步骤s11中开发完成的dev-ijkplayer工程及podspec文件上传到git服务器,生成对于代码库链接;
22.步骤s13、项目工程通过podfile引入相对应tag版本的的播放器框架组件,完成自定义播放器的引入工作。
23.优选的,所述步骤s3中podspec文件用于描述和控制pod library文件关系和编译相关参数的文件。
24.优选的,所述步骤s12为了给引入的播放器工程添加开发版本的管理功能,开发者需要对不同的开发代码提交节点通过git命令添加tag。
25.优选的,所述步骤s1~s3在源码层内完成,所述步骤s4~s11在组件层内完成,所述步骤s12和s13在应用层内完成,从而使本视频播放器共有三层结构,且每层结构都有它独立的功能,通过对每一层的配置,形成开发灵活度好,代码功能解耦,方便集成的架构。
26.与现有技术相比,本发明的有益效果是:本发明通过组件化集成播放器后,所有对播放器源代码的修改,只需要通过cocoapods的pod update命令,即可同步引入,并且可进行代码粒度的调试;通过git的tag(标签)功能和cocoapods中具有的指定源代码tag的功能相结合,不同的tag对应一个开发节点版本,开发者可以获取不同开发节点的组件代码,达到对组件进行版本管理和动态添加移除操作;由上述的设计能够大大提升开发者对项目播放器的二次开发灵活性、开发效率及问题排查能力。
附图说明
27.图1为本发明的实施流程示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.请参阅图1,本发明提供一种技术方案:一种ios系统组件化集成视频播放器系统,其特征在于,包括:
30.源码层:视频播放器所有功能源代码所在层级;
31.组件层:一个独立的工程实例项目,已引入源码层中所需源代码文件,已通过播放器编译所需测试,开发者进行播放器源码的二次封装和开发,具有独立的视频播放功能;
32.应用层:通过引入组件层的功能,可以直接使用组件层的视频播放器最近业务逻辑开发进一步的,。
33.进一步的,一种ios系统组件化集成视频播放器实施方法,其特征在于:包括以下步骤:
34.步骤s1、下载ijkplayer源码,保存在对应文件路径下,命名文件夹为ijkplayer;
35.步骤s2、安装xcode依赖库管理工具cocoapods;
36.步骤s3、在步骤s1内ijkplayer文件夹目录下新建组件配置podspec文件;
37.步骤s4、通过编写步骤s3中podspec文件中source_files标签,cocoapods管理工具将根据文件路径,引入ijkplayer工程中ios播放器功能的核心实现代码;
38.步骤s5、通过编写步骤s3中podspec文件中exclude_files标签,cocoapods管理工具将根据文件路径,忽略ijkplayer相关路径下与ios播放器无关的,或者影响编译成功的代码文件;
39.步骤s6、通过编写步骤s3中podspec文件中script_phases标签,配置每次编译需要执行的自定义脚本文件version.sh;
40.步骤s7、通过编写步骤s3中podspec文件中vendored_libraries标签,引入ffmpeg框架的静态库文件;
41.步骤s8、在步骤s1中ijkplayer文件夹目录下新建开发工程dev-ijkplayer;
42.步骤s9、在步骤s8中dev-ijkplayer工程执行pod init命令,生产podfile文件;
43.步骤s10、编写步骤s9中podfile文件引入步骤s3新建的podspec文件,执行pod update命令引入本地组件代码;
44.步骤s11、开发者进行在dev-ijkplayer工程中的播放器源码的二次封装和开发调试,完成自定义视频播放器的功能开发;
45.步骤s12、将步骤s11中开发完成的dev-ijkplayer工程及podspec文件上传到git服务器,生成对于代码库链接;
46.步骤s13、项目工程通过podfile引入相对应tag版本的的播放器框架组件,完成自定义播放器的引入工作。
47.进一步的,所述步骤s3中podspec文件用于描述和控制pod library文件关系和编译相关参数的文件。
48.进一步的,所述步骤s12为了给引入的播放器工程添加开发版本的管理功能,开发者需要对不同的开发代码提交节点通过git命令添加tag。
49.进一步的,所述步骤s1~s3在源码层内完成,所述步骤s4~s11在组件层内完成,所述步骤s12和s13在应用层内完成,从而使本视频播放器共有三层结构,且每层结构都有
它独立的功能,通过对每一层的配置,形成开发灵活度好,代码功能解耦,方便集成的架构。
50.其中,上述的ios是移动操作系统,属于类unix的商业操作系统,用于移动产品上,ios编程需要的接口、工具以及资源全部包含于iossdk,通过集成开发环境完成应用程序开发;ijkplayer是开源的视频播放器,基于ffmpeg开源视频处理框架;xcode是运行在操作系统mac os x上的集成开发工具;cocoapods是一个用来管理xcode依赖库的项目;git是一种先进的分布式版本控制系统。
51.本发明通过组件化集成播放器后,所有对播放器源代码的修改,只需要通过cocoapods的pod update命令,即可同步引入,并且可进行代码粒度的调试;通过git的tag(标签)功能和cocoapods中具有的指定源代码tag的功能相结合,不同的tag对应一个开发节点版本,开发者可以获取不同开发节点的组件代码,达到对组件进行版本管理和动态添加移除操作;由上述的设计能够大大提升开发者对项目播放器的二次开发灵活性、开发效率及问题排查能力。
52.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献