先展示播放器效果:

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP



  依然继承 Listo 本人的强迫症,还是从最初到完毕完整的写一个攻略来记录一下,这里声明 Listo 本人也是看了非常多的戴维营攻略才总结分享给大家这一篇攻略的。

首先,Listo 使用的是一个开源的第三方框架而不是使用系统本身带有的框架, 这个框架的名字叫做 MobileVLCKit 框架。至于框架的获取。Listo 这里也有截图,首先打开终端。执行命令 "$git clone https://github.com/wuqiong/MobileVLCKit-SDK.git",当这条命令执行完毕以后,在进行以下的命令
"$cd MobileVLCKit-SDK", "$./bootstrap"。

这里 Listo 一定提醒后来的朋友要记得这个server是日本的server,所以运行命令的速度非常慢,希望各位一定耐心等待。一定耐心。上述操作的图示:

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP



这时我们的 MobileVLCKit 框架就已经获取到本机了,我们这时打开 Xcode 进行使用。

首先建立 IOS project,Listo 这里就不细说了。由于真的非常基础,当我们建立好project之后。開始导入本project我们下载的第三方框架。

点击project名。找到主界面的 Build Phases,然后打开 Link Binary With Libraries 进行导入框架的工作如图(这里 Listo 截图为导入完毕后的图,假设没有导入的时候  Link Binary With Libraries 里面应该为空):

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP

  这个时候我们点击左下角的 + button,选择 Add Other 的button进行导入系统框架以外的第三方框架如图:

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP

然后我们进入寻找我们下载的第三方库的阶段。(细心的朋友一定发现 Listo 在终端运行语句的时候并没有设置文件下载的路径。这里导致了寻找文件不知所措,还好我们能够直接在右上角搜索就可以或者 Listo 这里公开一下文件的文件夹如图)

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP

 这样我们选择最右边第三列的第三行就可以导入第三方的 MobileVLCKit 框架了。

 导入框架之后我们进行正式的编程工作,这里编程由于涉及 OC 和 Swift 的混编。Listo 把凝视写的比較具体。

 首先在 ViewController.swift 中我们输入代码如图

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP



 然后依据这段代码的凝视我们非常easy理解含义。同一时候也须要继续完毕两个操作来响应这段代码不会报错。

首先,打开 Supporting 下创建的 .h 文件。引入第三方的框架如图完毕导入 OC 框架:

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP

 其次对应程序的操作是点开文件文件夹中的 storyboard,选中 video View。在屏幕的最右側进行视图的类型改动如图(这里的操作是为了响应程序中的 var videoView
= self.view  
    //播放器实例的播放窗体属性  这句代码,希望大家能够自己感悟)  :

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP

 

主要的配置就到这里了。再次执行程序我们会发现依然有非常多 bug,这里并非程序的原因,而是配置的原因,我们这是会发现 ios 应用不只须要这么一点点框架,而是须要 声音,字幕等多框架共同协作的。所以我们须要像刚開始导入第三方框架那样导入系统框架,系统框架须要导入的列表 Listo 这里已经总结出来了如图:

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP 

这时当我们再次执行的时候会发现 bug 从 190 降低了非常多,可是还有错误,这里是系统编译 C++ 类型的错误。我们须要继续进行设置,依然点击project的名字,然后找到 Build Settings 然后找到 Apple LLVM 6.0 -Language-C++然后进行设置如图:

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器-LMLPHP

 此时我们须要想到我们此时在设置 C++ 的编译,那么在project的文件夹里把 Channel.m 设置为 .mm 来代表 C++ 文件,这样我们全部的设置就进行完了,之后 Run 一下我们就能够进行视频的观看了。假设认为竖屏视频不惬意能够在 General 中进行设置,这里 Listo 就不多说了。

总结:本攻略最大的收获我认为应该就是 OC 和 Swift 的混编的思想非常重要,希望大家能够自己来感悟一下。

共同进步,开源中国。转载请声明出处。

05-11 13:32