美文网首页
音视频开发进阶-学习笔记1-iOS项目增加C++支持

音视频开发进阶-学习笔记1-iOS项目增加C++支持

作者: tp夕阳武士 | 来源:发表于2021-01-25 14:55 被阅读0次

前言

本文是《音视频开发进阶指南》一书的2.1章节的读书笔记.

搭建iOS项目基础

使用XCode新建项目工程

通过CocoPod导入相关库

CocoPod的安装每年都有不同的方法,可自行到网上搜索最新方案.

podfile文件中导入的库:

platform :ios, '9.0'  #指定系统平台

target 'RFAVP' do

pod 'Masonry' #约束框架 , 非必要

pod 'Mantle' # 音视频框架

pod 'AFNetworking' #网络请求框架

end

终端执行指令:pod install 安装库

项目增加C++支持

关于关于OC 和 C++混编,推荐看这篇文章:聊聊你不知道的 Objective-C++[必看]

下面分别是Mp3Encoder.hpp、Mp3Encoder.cpp、FirstVC.mm 的创建步骤。


image.png
stpe1 创建控制器

快捷键: command + n 弹出对话框

image.png

选择 Cocoa Touch Class ,然后点NEXT,创建一个新的控制器类


image.png

创建FirstVC控制器完成后,要将FirstVC.m 修改成 FirstVC.mm

step2

快捷键: command + n 弹出对话框

image.png
选择C++ File 创建 : Mp3Encoder.hppMp3Encoder.cpp
image.png

下面分别是Mp3Encoder.hppMp3Encoder.cppFirstVC.mm目前的代码。

Mp3Encoder.hpp 的代码

#ifndef Mp3Encoder_hpp
#define Mp3Encoder_hpp
 
#include <stdio.h>
 
class Mp3Encoder
{
public:
    void encode();
 
};
 
#endif /* Mp3Encoder_hpp */

Mp3Encoder.cpp 的代码

#include "Mp3Encoder.hpp"
 
void Mp3Encoder::encode() {
    printf("C++");
}

FirstVC.mm的代码

//
//  FirstVC.m
//  RFAVP
//
//  Created by PRF on 2021/1/22.
//

#import "FirstVC.h"
#import <Masonry/Masonry.h>

#import <iostream>
#include "Mp3Encoder.hpp"
#import <AFNetworking.h>


@interface FirstVC ()

@property (nonatomic,strong) UIButton *EncodeBtn;

@end

@implementation FirstVC

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    self.title = @"音视频进阶";
    [self.EncodeBtn addTarget:self action:@selector(encodeClick:) forControlEvents:UIControlEventTouchUpInside];
}

-(void)encodeClick:(UIButton *)btn{
    Mp3Encoder *encoder = new Mp3Encoder();
    encoder->encode();
    delete encoder;
}


-(UIButton *)EncodeBtn{
    if (!_EncodeBtn) {
        _EncodeBtn = [UIButton new];
        [self.view addSubview:_EncodeBtn];
        [_EncodeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
            make.center.mas_equalTo(0);
            make.width.mas_equalTo(100);
            make.height.mas_equalTo(50);
        }];
        _EncodeBtn.backgroundColor = [UIColor blueColor];
        [_EncodeBtn setTitle:@"音视频测试" forState:UIControlStateNormal];
    }
    return _EncodeBtn;
}
@end

项目验证

FirstVC修改成项目的第一启动控制器, command + r 运行项目, 点击按钮,控制台能够正常打印输出C++,则表示C++支持成功;

image.png

相关文章

  • 音视频开发进阶-学习笔记1-iOS项目增加C++支持

    前言 本文是《音视频开发进阶指南》一书的2.1章节的读书笔记. 搭建iOS项目基础 使用XCode新建项目工程 通...

  • Android音视频开发

    互联网寒冬之下,Android开发的港湾:音视频进阶学习[https://juejin.cn/post/69141...

  • 音视频开源网站

    18个实时音视频开发中会用到开源项目 实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环...

  • workflow这个C++开源项目值得学习

    最近发现了适合C++开发者进阶的开源项目,这个项目的名字叫workflow,项目地址如下: sogou/workf...

  • Visual C++下创建WPF项目的方法探索

    C++/CLI下创建WPF项目的方法 由于WPF不仅仅支持C#/VB开发,还支持其他语言,比如: C++、F#等开...

  • 第二章 移动端环境搭建

    一 增加C++支持 其中预定义变量$ (SRCROOT)和$(PROJECT_DIR)都是项目的根目录。 二 交叉...

  • 15个C++项目列表

    实验楼上有很多C++的实战项目,从简单到进阶,学习每个项目都可以掌握相应的知识点。 如果你还是C++新手的话,那么...

  • 十大C++实战项目,你会几个?【高薪必备】

    市面上有很多C++的实战项目,从简单到进阶,学习每个项目都可以掌握相应的知识点。 如果你还是C++新手的话,那么这...

  • OpenCV之初体验

    人脸识别效果 创建项目 这里没什么好说的,使用AS创建一个支持C++的项目即可 如果你的AS暂不支持NDK开发,请...

  • 音视频技术(1)- 参考资料

    一、参考资料: 1. 音视频开发进阶指南(笔者主要从事移动端开发,以这本书入门,通篇了解音视频处理比较合适): h...

网友评论

      本文标题:音视频开发进阶-学习笔记1-iOS项目增加C++支持

      本文链接:https://www.haomeiwen.com/subject/ifzbzktx.html