You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

207 lines
6.2 KiB

//
// JCMediaDeviceConstants.h
// JCSDK-OC
//
// Created by maikireton on 2017/8/11.
// Copyright © 2017年 juphoon. All rights reserved.
//
#import <Foundation/Foundation.h>
/// @addtogroup 设备模块
/// @{
/**
* 窗口与屏幕角度
*/
typedef NS_ENUM(NSInteger, JCMediaDeviceRotateAngle) {
/// 窗口与屏幕角度 0°
JCMediaDeviceRotateAngle0 = 0,
/// 窗口与屏幕角度 90°
JCMediaDeviceRotateAngle90 = 90,
/// 窗口与屏幕角度 180°
JCMediaDeviceRotateAngle180 = 180,
/// 窗口与屏幕角度 270°
JCMediaDeviceRotateAngle270 = 270,
};
/**
* 渲染模式
*/
typedef NS_ENUM(NSInteger, JCMediaDeviceRender) {
/// 铺满窗口,会有裁剪
JCMediaDeviceRenderFullScreen = 0,
/// 全图像显示,会有黑边
JCMediaDeviceRenderFullContent,
/// 自适应
JCMediaDeviceRenderFullAuto,
};
/**
* 视频像素格式
*/
typedef NS_ENUM(NSInteger, JCMediaDeviceVideoPixelFormat) {
/// I420
JCMediaDeviceVideoPixelFormatI420 = 1,
/// IYUV
JCMediaDeviceVideoPixelFormatIYUV = 2,
/// RGB24
JCMediaDeviceVideoPixelFormatRGB24 = 3,
/// ABGR
JCMediaDeviceVideoPixelFormatABGR = 4,
/// ARGB
JCMediaDeviceVideoPixelFormatARGB = 5,
/// ARGB444
JCMediaDeviceVideoPixelFormatARGB444 = 6,
/// RGB565
JCMediaDeviceVideoPixelFormatRGB565 = 7,
/// ARGB1555
JCMediaDeviceVideoPixelFormatARGB1555 = 8,
/// YUY2
JCMediaDeviceVideoPixelFormatYUY2 = 9,
/// YV12
JCMediaDeviceVideoPixelFormatYV12 = 10,
/// UYVY
JCMediaDeviceVideoPixelFormatUYVY = 11,
/// MJPG
JCMediaDeviceVideoPixelFormatMJPG = 12,
/// NV21
JCMediaDeviceVideoPixelFormatNV21 = 13,
/// NV12
JCMediaDeviceVideoPixelFormatNV12 = 14,
/// BGRA
JCMediaDeviceVideoPixelFormatBGRA = 15,
};
/**
* 视频旋转角度
*/
typedef NS_ENUM(NSInteger, JCMediaDeviceVideoAngel) {
/// 自动
JCMediaDeviceVideoAngelAuto = -1,
/// 0°
JCMediaDeviceVideoAngel0 = 0,
/// 90°
JCMediaDeviceVideoAngel90 = 90,
/// 180°
JCMediaDeviceVideoAngel180 = 180,
/// 270°
JCMediaDeviceVideoAngel270 = 270
};
/**
* 摄像头类型
*/
typedef NS_ENUM(NSInteger, JCMediaDeviceCameraType) {
/// 未获取到摄像头
JCMediaDeviceCameraTypeNone = 0,
/// 前置摄像头
JCMediaDeviceCameraTypeFront = 1,
/// 后置摄像头
JCMediaDeviceCameraTypeBack = 2,
/// 未知摄像头
JCMediaDeviceCameraTypeUnknown = 3
};
/**
* 视频源类型
*/
typedef NS_ENUM(NSInteger, JCMediaDeviceVideoSource) {
/// 用户
JCMediaDeviceVideoSourcePeer = 0,
/// 采集设备
JCMediaDeviceVideoSourceCapture = 1,
/// 文件
JCMediaDeviceVideoSourceFile = 2,
};
/**
* 镜像类型
*/
typedef NS_ENUM(NSInteger, JCMediaDeviceMirror) {
/// 不镜像
JCMediaDeviceMirrorNone = 0,
/// 水平方向镜像
JCMediaDeviceMirrorHorizontal = 1,
/// 竖直方向镜像
JCMediaDeviceMirrorVertical = 2,
/// 自动选择
JCMediaDeviceMirrorAuto = 3,
/// 转场动画,从左侧翻转
JCMediaDeviceMirrorFromLeft = 4,
/// 转场动画,从上侧翻转
JCMediaDeviceMirrorFromTop = 8,
};
typedef NS_ENUM(NSInteger, JCMediaDeviceAudioAECType) {
/// 开启硬件AEC
JCMediaDeviceAudioAECTypeOn,
/// 关闭硬件AEC
JCMediaDeviceAudioAECTypeOff,
/// 硬件AEC 自动
JCMediaDeviceAudioAECTypeAuto
};
typedef NS_ENUM(NSInteger, JCMediaDeviceAudioAGCType) {
/// 开启硬件AGC
JCMediaDeviceAudioAGCTypeOn,
/// 关闭硬件AGC
JCMediaDeviceAudioAGCTypeOff,
/// 硬件AGC 自动
JCMediaDeviceAudioAGCTypeAuto
};
typedef NS_ENUM(NSInteger, JCMediaDeviceEffectType) {
JCMediaDeviceEffectTypeNone = 0, /**< @brief 无 */
/** 高斯模糊特效\n
* JSON 参数:\n
* "hoffset": 宽度偏移量,默认2像素\n
* "voffset": 高度偏移量,默认2像素\n
* "iterate": 重复次数,默认3\n
* "pixels": 模糊半径\n
* "sigma": sigma越大越模糊\n
*/
JCMediaDeviceEffectTypeBlur = 1, /**< @brief 高斯模糊 */
JCMediaDeviceEffectTypeGrey = 2, /**< @brief 黑白 */
JCMediaDeviceEffectTypeMask = 3, /**< @brief 掩膜 */
/** 放大镜特效\n
* JSON 参数:\n
* "dx": 相对于放大中心点坐标x的宽度偏移量\n
* "dy": 相对于放大中心点坐标y的高度偏移量\n
* "x": 放大中心x坐标,范围[0, 1]\n
* "y": 放大中心y坐标,范围[0, 1]\n
* "zoom": 放大倍数,默认2\n
*"radius": 放大半径,与高度或宽度中的较小值相关,默认0.2\n
*/
JCMediaDeviceEffectTypeMagnifier = 4, /**< @brief 放大镜 */
JCMediaDeviceEffectTypeOldTime = 5, /**< @brief 怀旧 */
JCMediaDeviceEffectTypePhotoVerse = 6, /**< @brief 底片 */
JCMediaDeviceEffectTypeLomo = 7, /**< @brief 温暖 */
/** 景深特效\n
* JSON 参数:\n
* "x": x轴中点\n
* "y": y轴中点\n
* "radius": 半径,与高度或宽度中的较小值相关,默认0.2\n
* "exp": alpha exp, 默认1.0\n
*/
JCMediaDeviceEffectTypeDepthOfField = 8, /**< @brief 拖动控制景深 */
/**
* 将等角转换为直线\n
* 可选的 JSON 参数:\n
* "status": 打开或关闭特效,同时重置所有参数\n
* 0: 关闭\n
* 1: 打开\n
* "yaw": 几何中心的方位角,范围[0,360],默认0度\n
* "pitch": 几何中心的高程角度,范围[-180,180],默认0度\n
* "roll": 围绕几何轴的滚动角度,范围[0,360],默认0度\n
* "fov": 水平视场角度范围,范围(0,180),默认90度\n
* 警告: fov 太接近0将大大减少图像分辨率\n
* fov 太接近180会大大扭曲图像\n
* 建议范围: 45-135\n
* 如果没有指定,会依据图像宽度使用2:1的宽高比自动计算\n
* "reset": 重置参数至默认值,有效值:任意数字\n
*/
JCMediaDeviceEffectTypeErtToRect = 9, /**< @brief 远端全景视频 */
};
/// @}