扫一扫咨询方案
首页
登录/注册

{user.username}

ID: {user.id}

模板 SDK 文档

  • 云渲染

    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK

    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK

    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程

    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程

    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南
产品简介
安卓端 SDK
iOS SDK
服务端 SDK
开发指南
Demo 下载
用户常见问题
首页 > iOS SDK > 摄像机模板接入 > 创建相机

创建相机

更新时间 : 2023-07-18 09:33:29

创建相机

创建相机模板需要通过 SXTemplate类的初始化方法创建

/**
 * 初始化一个模板实例
 * @param camera 相机对象
 * @return 模板实例
 */
- (instancetype)initWithCamera:(SXCamera *)camera;

/**
 * 初始化一个模板实例
 * @param width 画布宽度
 * @param height 画布高度
 * @param frameRate 帧速率
 * @param camera 相机对象
 * @return 模板实例
 */
- (instancetype)initWithWidth:(CGFloat)width height:(CGFloat)height frameRate:(int)frameRate camera:(SXCamera *)camera;

SXCamera 初始化方法

/// 初始化相机对象
/// @param size 相机尺寸
/// @param frameRate 相机帧速率
/// @param position 前置或者后置
/// @param type 相机类型
- (instancetype)initWithSize:(SXCameraSize)size
                   frameRate:(SXCameraFrameRate)frameRate
                    position:(SXCameraPosition)position
                        type:(SXCameraSourceType)type;

相机的画面展示,通过SXTemplatePlayer播放在UIView上

相机api
/// 启动相机
- (void)start;

/// 停止相机
- (void)stop;

/// 设置相机焦点
/// @param point 焦点
- (void)focusAt:(CGPoint)point;

/// 是否启用闪光灯
/// @param enable YES启用 NO不启用
- (void)enableTorch:(BOOL)enable;

/// 镜像相机画面 需要在[template commit] 之后调用
- (void)videoMirrored:(BOOL)isMirrored;

代码示例

#import <SXVideoEnging/SXVideoEnging.h>
    SXCamera *camera = [[SXCamera alloc] initWithSize:SXCameraSize720 frameRate:SXCameraFrameRate30 position:SXCameraPositionBack type:SXCameraSourceTypeAudioAndVideo];
    SXTemplate *mTemplate = [[SXTemplate alloc] initWithWidth:720 height:1280 frameRate:30 camera:camera];


    SXTemplatePlayer *mPlayer = [[SXTemplatePlayer alloc] initWithTemplate:mTemplate audioPath:nil];
    mPlayer.delegate = self;
    UIView *playView = [mPlayer getPlayerView];
    int videoWidth = [mTemplate mainCompWidth];
    int videoHeight = [mTemplate mainCompHeight];
    CGFloat playerScale = self.view.bounds.size.height / videoHeight;

    playView.bounds = CGRectMake(0, 0, videoWidth * playerScale, self.view.bounds.size.height);

    playView.center = CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height / 2);

    [self.view addSubview:playView];
    [self.view sendSubviewToBack:playView];

    [mTemplate commit];

    [mPlayer start];

    [camera start];

//根据前置后置设置相机是否镜像 
//[mTemplate.camera videoMirrored:NO];
首页 > iOS SDK > 摄像机模板接入 > 创建相机
创建相机
更新时间 : 2023-07-18 09:33:29
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

创建相机

创建相机模板需要通过 SXTemplate类的初始化方法创建

/**
 * 初始化一个模板实例
 * @param camera 相机对象
 * @return 模板实例
 */
- (instancetype)initWithCamera:(SXCamera *)camera;

/**
 * 初始化一个模板实例
 * @param width 画布宽度
 * @param height 画布高度
 * @param frameRate 帧速率
 * @param camera 相机对象
 * @return 模板实例
 */
- (instancetype)initWithWidth:(CGFloat)width height:(CGFloat)height frameRate:(int)frameRate camera:(SXCamera *)camera;

SXCamera 初始化方法

/// 初始化相机对象
/// @param size 相机尺寸
/// @param frameRate 相机帧速率
/// @param position 前置或者后置
/// @param type 相机类型
- (instancetype)initWithSize:(SXCameraSize)size
                   frameRate:(SXCameraFrameRate)frameRate
                    position:(SXCameraPosition)position
                        type:(SXCameraSourceType)type;

相机的画面展示,通过SXTemplatePlayer播放在UIView上

相机api
/// 启动相机
- (void)start;

/// 停止相机
- (void)stop;

/// 设置相机焦点
/// @param point 焦点
- (void)focusAt:(CGPoint)point;

/// 是否启用闪光灯
/// @param enable YES启用 NO不启用
- (void)enableTorch:(BOOL)enable;

/// 镜像相机画面 需要在[template commit] 之后调用
- (void)videoMirrored:(BOOL)isMirrored;

代码示例

#import <SXVideoEnging/SXVideoEnging.h>
    SXCamera *camera = [[SXCamera alloc] initWithSize:SXCameraSize720 frameRate:SXCameraFrameRate30 position:SXCameraPositionBack type:SXCameraSourceTypeAudioAndVideo];
    SXTemplate *mTemplate = [[SXTemplate alloc] initWithWidth:720 height:1280 frameRate:30 camera:camera];


    SXTemplatePlayer *mPlayer = [[SXTemplatePlayer alloc] initWithTemplate:mTemplate audioPath:nil];
    mPlayer.delegate = self;
    UIView *playView = [mPlayer getPlayerView];
    int videoWidth = [mTemplate mainCompWidth];
    int videoHeight = [mTemplate mainCompHeight];
    CGFloat playerScale = self.view.bounds.size.height / videoHeight;

    playView.bounds = CGRectMake(0, 0, videoWidth * playerScale, self.view.bounds.size.height);

    playView.center = CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height / 2);

    [self.view addSubview:playView];
    [self.view sendSubviewToBack:playView];

    [mTemplate commit];

    [mPlayer start];

    [camera start];

//根据前置后置设置相机是否镜像 
//[mTemplate.camera videoMirrored:NO];