寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器
先展示播放器效果:
依然继承 Listo 本人的强迫症,还是从最初到完毕完整的写一个攻略来记录一下,这里声明 Listo 本人也是看了非常多的戴维营攻略才总结分享给大家这一篇攻略的。
首先,Listo 使用的是一个开源的第三方框架而不是使用系统本身带有的框架, 这个框架的名字叫做 MobileVLCKit 框架。至于框架的获取。Listo 这里也有截图,首先打开终端。执行命令 "$git clone https://github.com/wuqiong/MobileVLCKit-SDK.git",当这条命令执行完毕以后,在进行以下的命令
"$cd MobileVLCKit-SDK", "$./bootstrap"。
这里 Listo 一定提醒后来的朋友要记得这个server是日本的server,所以运行命令的速度非常慢,希望各位一定耐心等待。一定耐心。上述操作的图示:
这时我们的 MobileVLCKit 框架就已经获取到本机了,我们这时打开 Xcode 进行使用。
首先建立 IOS project,Listo 这里就不细说了。由于真的非常基础,当我们建立好project之后。開始导入本project我们下载的第三方框架。
点击project名。找到主界面的 Build Phases,然后打开 Link Binary With Libraries 进行导入框架的工作如图(这里 Listo 截图为导入完毕后的图,假设没有导入的时候 Link Binary With Libraries 里面应该为空):
这个时候我们点击左下角的 + button,选择 Add Other 的button进行导入系统框架以外的第三方框架如图:
然后我们进入寻找我们下载的第三方库的阶段。(细心的朋友一定发现 Listo 在终端运行语句的时候并没有设置文件下载的路径。这里导致了寻找文件不知所措,还好我们能够直接在右上角搜索就可以或者 Listo 这里公开一下文件的文件夹如图)
这样我们选择最右边第三列的第三行就可以导入第三方的 MobileVLCKit 框架了。
导入框架之后我们进行正式的编程工作,这里编程由于涉及 OC 和 Swift 的混编。Listo 把凝视写的比較具体。
首先在 ViewController.swift 中我们输入代码如图
然后依据这段代码的凝视我们非常easy理解含义。同一时候也须要继续完毕两个操作来响应这段代码不会报错。
首先,打开 Supporting 下创建的 .h 文件。引入第三方的框架如图完毕导入 OC 框架:
其次对应程序的操作是点开文件文件夹中的 storyboard,选中 video View。在屏幕的最右側进行视图的类型改动如图(这里的操作是为了响应程序中的 var videoView
= self.view
//播放器实例的播放窗体属性 这句代码,希望大家能够自己感悟) :
主要的配置就到这里了。再次执行程序我们会发现依然有非常多 bug,这里并非程序的原因,而是配置的原因,我们这是会发现 ios 应用不只须要这么一点点框架,而是须要 声音,字幕等多框架共同协作的。所以我们须要像刚開始导入第三方框架那样导入系统框架,系统框架须要导入的列表 Listo 这里已经总结出来了如图:
这时当我们再次执行的时候会发现 bug 从 190 降低了非常多,可是还有错误,这里是系统编译 C++ 类型的错误。我们须要继续进行设置,依然点击project的名字,然后找到 Build Settings 然后找到 Apple LLVM 6.0 -Language-C++然后进行设置如图:
此时我们须要想到我们此时在设置 C++ 的编译,那么在project的文件夹里把 Channel.m 设置为 .mm 来代表 C++ 文件,这样我们全部的设置就进行完了,之后 Run 一下我们就能够进行视频的观看了。假设认为竖屏视频不惬意能够在 General 中进行设置,这里 Listo 就不多说了。
总结:本攻略最大的收获我认为应该就是 OC 和 Swift 的混编的思想非常重要,希望大家能够自己来感悟一下。
共同进步,开源中国。转载请声明出处。
寒城攻略:Listo 教你用Swift 语言编写 IOS 平台流媒体播放器的更多相关文章
- 寒城攻略:Listo 教你用 Swift 写IOS UI 项目计算器
之前总结过 Swift 的语言攻略,这里就不做赘述了,如今做一个实例计算器项目来介绍一下 Swift 的应用.(凝视已经全然.直接上代码) 先看一下效果图: 以下是详细的代码和解释: 分享快乐.开源中 ...
- 寒城攻略:Listo 教你用 Swift 写IOS UI 项目生活记事本
刚才用 Swift 写了一个记事本的应用,仅仅是简单的 UI 方向的开发,先来上产品的界面: 如今 Listo 给分享源码: 共同进步,开源中国.转载请声明出处
- UI设计行业中的“延禧攻略”,教你从青铜变王者
最近一直在追<延禧攻略>,女主魏璎珞敢爱敢恨,有仇必报的性格吸引不少人,她从低贱的秀坊小宫女步步为营,最终成为皇帝最宠爱的令妃呼风唤雨.尔虞我诈的后宫,想要打怪升级光有颜值是万万不够的,更 ...
- 从HTML原型到jsp页面完美转型攻略(教你即使不会写代码也能弄出漂亮的网页)
大家都知道软件项目(web)开发之前都要先做原型设计,而我们使用的比较多的一款原型设计软件就是Axure rp了.在Axure rp上画原型不需要任何编码能力,而且生成的原型可以在浏览器上运行.除了没 ...
- 手把手教你用C语言编写一个哈希表
原文链接:https://www.swack.cn/wiki/001558681974020669b912b0c994e7090649ac4846e80b2000/001572849111298ae3 ...
- 解魔方的机器人攻略13 – 安装Lejos(上)
由 动力老男孩 发表于 2009/12/27 16:58:23 Firmware(固件)相当于是机器人的操作系统,乐高NXT出厂时已经内置了一套Firmware,并且配备了非常强大的LabVIEW开发 ...
- Windows安全攻略:教你完全修复系统漏洞
Windows安全攻略:教你完全修复系统漏洞 首发:http://safe.it168.com/a2012/0709/1369/000001369740.shtml 目前互联网上的病毒集团越来越猖狂, ...
- 超时空英雄传说2复仇魔神完全攻略&秘技
╓─╥───────────────────────────────────────────────────╥─╖ ║ ║ 超 時 空 英 雄 傳 說 2 ║ ║ ║ ║ --復 仇 魔 神-- ║ ...
- 【与软件无关】2013赤峰地区C1科目三考试攻略【绝对原创】
期待很久的科目三,终于在开考了.传说中的全部电子评判,让习惯给考官送礼的赤峰人民无所是从.据说前几天曾经有一个驾校,考了一整天,八十多个人一个没过的. 我这个攻略是今天通过考试后的一点心得,希望能有用 ...
随机推荐
- redis push/pop(List)的17条命令
一.Blpop 命令移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止.redis 127.0.0.1:6379> BLPOP LIST1 LIST2 .. ...
- Texygen文本生成,交大计算机系14级的朱耀明
文本生成哪家强?上交大提出基准测试新平台 Texygen 2018-02-12 13:11测评 新智元报道 来源:arxiv 编译:Marvin [新智元导读]上海交通大学.伦敦大学学院朱耀明, 卢思 ...
- Laravel 5系列教程四:数据库和Eloquent
免费视频教程地址https://laravist.com/series/laravel-5-basic 上一篇写了一些Laravel Blade的基本用法和给视图传递变量的几种方式, 这一节我们来说说 ...
- Python批量修改文件夹内所有json文件中部分内容
#coding=utf-8 import os import json #获取目标文件夹的路径 filedir = os.getcwd()+'/ceshi' #获取文件夹中的文件名称列表 filena ...
- python实现word2vec训练结果bin文件转txt文件
经理让我把word2vec训练后得到的bin文件转为txt文件,目前还不知道txt文件用来干什么.其实word2vec训练语料时可以选择训练处出bin文件或者txt文件,但是训练出bin文件时过程太漫 ...
- SharePoint 2013 项目部署
SharePoint 2013 项目部署 本人刚接触sharepoint不久,是个小菜鸟,而且上手版本是2013,对10和07版也没有太多的了解.最近由于项目需要本人磕磕碰碰部署了sharepoint ...
- javascript http库axios
还是那个开源项目中的代码看到的: 直接看axios官方的介绍吧,里面的用法介绍很全: https://github.com/mzabriskie/axios Installing Using npm: ...
- Material Design学习之 Bottom navigation
转载请注明出处:王亟亟的大牛之路 礼拜4一天由于事假没有去单位然后礼拜3由于生日也没写文章,今天一早上班就补一篇MD的内容.这一篇是关于颇有争议的Bottom navigation相关内容(主要是翻译 ...
- Java 多线程之 synchronized 和 volatile 的比較
概述 在做多线程并发处理时,常常须要对资源进行可见性訪问和相互排斥同步操作.有时候,我们可能从前辈那里得知我们须要对资源进行 volatile 或是 synchronized 关键字修饰处理.但是,我 ...
- 《暗黑世界V1.6》服务器代码执行图
<暗黑世界V1.6>服务器代码执行图 (原文地址:http://www.9miao.com/forum.php?mod=viewthread&tid=44016&highl ...