5 简简单单_hosten
尚未进行身份认证
出于爱好 热爱编程 欢迎指导
视频播放渲染的核心文件(webrtc_video_engine.cc):在WebRtcVideoReceiveStream的RecreateWebRtcVideoStream()函数中创建了webrtc::VideoReceiveStream*视频数据接收类;同时会在该方法中监听OnFrame(const webrtc::VideoFrame& frame)方法获取视频帧数据;...
文章目录1. iOS中多线程方案2. GCD 同步,异步,串行,并行2.1 从一到面试题入手认识下GCD:2.2 多线程易混淆的名词2.3 面试题解析3 多人线程与runloop3.1 面试题13.2 面试题24 队列组5 线程安全问题1. iOS中多线程方案最底层API pthread: 是一套通用的跨平台的多线程API,是基于c语言,线程的生命周期需要手动管理;NSThread:是对...
文章目录1. 简介2. Runloop 对象获取1. 简介iOS 中负责程序运行循环,在程序运行过程中循环做一些事情;保持程序的运行,程序运行时会在main函数中创建一个runloop,负责主线程的持续运行;及处理app中的各种事件的响应,例如:NSTimer,UITouch等;在程序需要处理事件时候runloop就唤起线程,当不许处理事件的时候线程进入休眠状态,这样可以节省线程资源。在OC...
文章目录1. 采集1.1 采集控制1.2 采集输出1. 采集1.1 采集控制webrtc 相机的初始化及参数设置都在RTCCameraVideoCapturer类中;这个类中调用系统AVFoundation中的AVCaptureSession,关于在iOS上捕获 视频这里不做过多介绍,推荐objc中国的文章;这里需要注意的是webrtc中只调用了视频采集没有使用音频,同时 设置 captur...
文章目录1. 面试题:isKindClass和isMemberOfClass1. 面试题:isKindClass和isMemberOfClass NSLog(@"%d",[[NSObject class] isKindOfClass:[NSObject class]]); //这里最终比较的是NSObject类对象的metaClass是不是与其类对象是不是相同,结...
播放数据数据流的中转中心-AudioTransportImplAudioTransportImpl 继承自AudioTransport,移动端主要实现两个接口,录制数据传递接口RecordedDataIsAvailable(...)和播放数据获取NeedMorePlayData();先看一下NeedMorePlayData():int32_t AudioTransportImpl::Nee...
OC是一种动态性比较强的语言,所有的函数调用都是基于消息机制;简介参照:isa指针;isa在前面介绍过,可以实例对象可以通过其找到类对象,类对象通过isa可以找到原类对象;在arm64后isa并不直接是Class类型,而是union,同时用位域位域(w3c)来存储更多信息(struct test{uintptr_r nonpointer :1; }), char _bool;//将所有BO...
综述: objective-c 的代码(clang -rewrite-objc mian.m -o mian.cpp)最终转成c/c++代码,然后转成汇编代码,最终以机器码执行;那么OC的对象最终在转成c、C++代码后是什么呢?其实C/C++中都能容纳不同类型的数据结构就是结构体,所以Objective-C 的对象/类主要是基于结构体实现注:生成arm64架构的cpp文件1:一个oc对象的内存...
一,本地分支查看问题首先进入代码的SRC目录下,执行GIT中分支查看本机代码所在的GIT中分支,会发现一般有两个(一个是版本号的,另一个主),代码所在的分支就是在带版本号的目录下; //更新源码CD SRC $混帐取$ git的拉//更新编译工具$ gclinet同步 出现xcode-select: error: tool 'xcodebuild' requires Xc...
1. runtime详细描述一、runtime简介 The Objective-C language defers as many decisions as it can from compile time and link time to runtime. Whenever possible, it does things dynamically. This means that the la
var json: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]]// json["list"][3]["what"] = "that"//这
1:一般的一张照片最先调整的应该是色阶:shift+Ctrl+L(自动色阶)2:调整饱和度:+20-303:色彩平衡调整:一般调整暗部和高光:1):阴影调整2):高光调整4: 增加锐化1)复制图层 2)选择复制的图层后,选择滤镜–》其他–》高反差保留: 需注意:半径不能给太大3)混合模式选择:柔光
-,色阶1:该图片整体偏亮:从色阶图中可以看出暗部缺少信息:那么就应该把最右侧的往左边拖动及拖到有信息的位置。亮部可以向左微动: 注意:图片中右侧是亮不标注有误三,色相/饱和度下图中我想把天空加蓝,那么我们选择蓝色通道调整,画面中其他颜色就不会改变
六, ==Optinal== 可选类型(难点):swift特色语法之一;是一种对类型安全的体现,Int?,float!注意的是后面的符号必须紧贴前面的类型,中间不能有任何的空白;只有Optional类型可以为空值(oc中的nil),确保非optional的对象不能为空,也无法赋值为空;任何的类型都可以作为Optional类型:let tupleTest :(Int,String)? =...
综述swift有四种类型:枚举,结构器,类,函数类型(前两种是值类型,后两个是引用类型),及一种复合类型元组此学习笔记基于4.0语法一些小知识Palygtound:从Xcode6开始出现 可以快速查看结果,语法特性改变时候可以快速查看。创建工程时候选择Playground工程,即:Xcode初始化启动时候初始化的第一项一些变化: 在Swift中布尔类型与整数类型是完全分离的用Bo
一,简史 二,内核版本与发行版本(www.kerne
1:属性 * 在实现自定义初始化方法的时候,一定以要遵循属性定义中所宣称的“copy”语义,因为属性定义就相当于类和待设置的属性值之间所达成的契约: - (instancetype)initWithChat:(NSString*)chat{ if (self = [super init]) { _chat = [chat copy]; return
摘录: 1. 将引入头文件的时机尽量拖后,只在确有需要时才引入,这样就可以减少类的使用者所需引入头文件的数量。
几个常用的命令:1,解压 tar -zxvf aliedit.tar.gz2,复制sudo cp -i test.c /local/arm3,删除1,安装Java,参考: Ubuntu安装JDK7/JDK8的两种方式 这里我只记录第一种:1.添加ppasudo add-apt-repository ppa:webupd8team/javasudo apt-get update2.安
一,获取导航栏相关属性获取包含导航栏的高度: CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame]; CGRect rectNav = self.navigationController.navigationBar.frame; CGFloat maxY = rectSta...