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

先展示播放器效果:

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

首先,Listo 使用的是一个开源的第三方框架而不是使用系统本身带有的框架, 这个框架的名字叫做 MobileVLCKit 框架,至于框架的获取,Listo 这里也有截图,首先打开终端,执行命令 "$git clone https://github.com/wuqiong/MobileVLCKit-SDK.git",当这条命令运行完成以后,在进行下面的命令
"$cd MobileVLCKit-SDK", "$./bootstrap"。这里 Listo 一定提醒后来的朋友要记得这个服务器是日本的服务器,所以执行命令的速度很慢,希望各位一定耐心等待,一定耐心。上述操作的图示:

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

首先建立 IOS 工程,Listo 这里就不细说了,因为真的很基础,当我们建立好工程之后,开始导入本工程我们下载的第三方框架。

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

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

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

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

导入框架之后我们进行正式的编程工作,这里编程因为涉及 OC 和 Swift 的混编,Listo 把注释写的比较详细。

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

然后根据这段代码的注释我们很容易理解含义,同时也需要继续完成两个操作来响应这段代码不会报错。

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

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

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

这时当我们再次运行的时候会发现 bug 从 190 减少了很多,但是还有错误,这里是系统编译 C++ 类型的错误,我们需要继续进行设置,依旧点击工程的名字,然后找到 Build Settings 然后找到 Apple LLVM 6.0 -Language-C++然后进行设置如图:

此时我们需要想到我们此时在设置 C++ 的编译,那么在工程的目录里把 Channel.m 设置为 .mm 来代表 C++ 文件,这样我们所有的设置就进行完了,之后 Run 一下我们就可以进行视频的观看了,如果觉得竖屏视频不满意可以在 General 中进行设置,这里 Listo 就不多说了。

总结:本攻略最大的收获我觉得应该就是 OC 和 Swift 的混编的思想很重要,希望大家可以自己来感悟一下。共同进步,开源中国,转载请声明出处。

时间: 2024-10-05 04:43:27

寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器的相关文章

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 01 About Swift

import Foundation /* Listo Han 出品 Swift 编程攻略 攻略参考:<The Swift Programming Language> 攻略适用:本攻略适合 Swift零基础,但要有至少其他任何一门编程语言基础,熟悉程序语句的用户 攻略格式: 知识模块://***********************************************************************************************/ 模块细节://_

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 02 Swift Tour

import Foundation //*********************************************************************************************** //1.Hello world //_______________________________________________________________________________________________ //输出 "Hello, world&q

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 03 The Basic

import Foundation //*********************************************************************************************** //1.The Basics(基础) //_______________________________________________________________________________________________ //介绍 //Swift 的类型是

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 04 Basic Operators

import Foundation //*********************************************************************************************** //1.Basic Operators(基本操作符) //_______________________________________________________________________________________________ //简介 //操作

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 24 Generics

import Foundation //*********************************************************************************************** //1.Generics(泛型) //_______________________________________________________________________________________________ //介绍 //泛型代码可以让你写出根据

寒城攻略:Listo 教你 25 天学会 Swift 语言 - 25 Listo&#39;s Conclusion

import Foundation //*********************************************************************************************** //1.Listo's Conclusion(Listo 的编写总结) //_______________________________________________________________________________________________

寒城攻略:Listo 教你Linux Cent OS 服务器从搭建到配置

曾经也用过 Linux 服务器,也搭建过,一直浑浑噩噩的,但是今天突然帮朋友搭建一个服务器并使用,还是发现了很多问题,所以写一个详细的技术攻略供未来的朋友遇到问题后参考. 首先考虑到看这篇攻略的朋友可能层次都不同,所以 Listo 个人还是有强迫症的,我就从一个新手的角度来讲解服务器的使用. 首先 Listo 用的阿里云的服务器,这个大家可以去注册阿里云账号购买服务器即可.这里值得一提的是一个很重要的问题,就是各位购买服务器的朋友一定要记得在购买设置配置的时候要买公网 IP,这个很重要,公网和内

寒城攻略:Listo 教你用 Swift 写IOS UI 项目计算器

之前总结过 Swift 的语言攻略,这里就不做赘述了,现在做一个实例计算器项目来介绍一下 Swift 的应用.(注释已经完全,直接上代码) 先看一下效果图: 下面是具体的代码和解释: 分享快乐,开源中国,转载请声明出处

寒城攻略:Listo 教你用 Swift 写IOS UI 项目生活记事本

刚才用 Swift 写了一个记事本的应用,仅仅是简单的 UI 方向的开发,先来上产品的界面: 如今 Listo 给分享源码: 共同进步,开源中国.转载请声明出处