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.
137 lines
2.9 KiB
137 lines
2.9 KiB
// |
|
// JCMediaDeviceVideoCanvas.h |
|
// JCSDK-OC |
|
// |
|
// Created by maikireton on 2017/8/11. |
|
// Copyright © 2017年 juphoon. All rights reserved. |
|
// |
|
|
|
#import <Foundation/Foundation.h> |
|
#import "JCMediaDeviceConstants.h" |
|
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR |
|
#import <UIKit/UIKit.h> |
|
#define JCView UIView |
|
#elif TARGET_OS_MAC |
|
#import <AppKit/AppKit.h> |
|
#define JCView NSView |
|
#endif |
|
|
|
/** |
|
* @addtogroup 设备模块 |
|
* @{ |
|
*/ |
|
|
|
/** |
|
* 视频对象 |
|
*/ |
|
@interface JCMediaDeviceVideoCanvas : NSObject |
|
|
|
/** |
|
* 渲染标识 |
|
*/ |
|
@property (nonatomic, readonly) NSString* videoSource; |
|
|
|
/** |
|
* 获取视频渲染视图 |
|
*/ |
|
@property (nonatomic, readonly, strong) JCView* videoView; |
|
|
|
/** |
|
* 渲染模式 |
|
*/ |
|
@property (nonatomic, readonly) JCMediaDeviceRender renderType; |
|
|
|
/** |
|
* 自定义数据 |
|
*/ |
|
@property (nonatomic) id customData; |
|
|
|
/** |
|
* 更新视频渲染标识 |
|
* @param videoSource 视频源 |
|
* @return 成功返回 true,失败返回 false |
|
*/ |
|
-(bool)replace:(NSString*)videoSource; |
|
|
|
/** |
|
* 暂停视频渲染 |
|
*/ |
|
-(void)pause; |
|
|
|
/** |
|
* 恢复视频渲染 |
|
*/ |
|
-(void)resume; |
|
|
|
/** |
|
* 旋转角度,必须是90的倍数,该角度表示与屏幕正方向旋转后的夹角 |
|
* @param angle 角度值 |
|
* @return 是否成功 |
|
* - true: 成功 |
|
* - false: 失败 |
|
*/ |
|
-(bool)rotate:(int)angle; |
|
|
|
/** |
|
* 视频通话截图 |
|
* |
|
* 调用此方法时需要保证该视频对象正在渲染,否则将调用失败 |
|
* |
|
* @param width 截屏宽度像素,-1为视频源像素 |
|
* @param height 截屏高度像素,-1为视频源像素 |
|
* @param filePath **文件路径,需精确到文件名及格式,例如:/Documents/JuphoonCloud/picture.png。请确保目录存在且可写。** |
|
* @return 是否成功 |
|
* - true: 成功 |
|
* - false: 失败 |
|
*/ |
|
-(bool)snapshot:(int)width heigh:(int)height filePath:(NSString*)filePath; |
|
|
|
/** |
|
* 镜像 |
|
* |
|
* 调用此方法时需要保证该视频对象正在渲染,否则将调用失败 |
|
* |
|
* @param mirrorType 镜像类型 |
|
* @see JCMediaDeviceMirror |
|
* @return 是否成功 |
|
* - true: 成功 |
|
* - false: 失败 |
|
*/ |
|
|
|
-(bool)videoMirror:(JCMediaDeviceMirror)mirrorType; |
|
|
|
/** |
|
* 对焦 |
|
* |
|
* 调用此方法时需要保证该视频对象正在渲染,否则将调用失败 |
|
* |
|
* @note |
|
* 前置摄像头可能会调用失败 |
|
* |
|
* @param xPercent 焦点所在渲染视图 x 轴的比例,取值范围 0-1 |
|
* @param yPercent 焦点所在渲染视图 y 轴的比例,取值范围 0-1 |
|
* @return 是否成功 |
|
* - true: 成功 |
|
* - false: 失败 |
|
*/ |
|
-(bool)focus:(float)xPercent yPercent:(float)yPercent; |
|
|
|
|
|
/** |
|
* 设置渲染特效 |
|
* @param effectType 特效类型 |
|
* @param paramJson 参数json 具体格式参考JCMediaDeviceEffectType各类型注释 |
|
* @see JCMediaDeviceEffectType |
|
* @return 返回使用结果: |
|
*/ |
|
-(bool)setvideoEffect:(JCMediaDeviceEffectType)effectType andParam:(NSString*)paramJson; |
|
|
|
/** |
|
* 是否暂停渲染 |
|
* |
|
* @return 返回使用结果 |
|
*/ |
|
-(bool)enableFreeze:(bool)enable; |
|
|
|
|
|
@end
|
|
|