public interface AliyunIMixRecorder
Modifier and Type | Method and Description |
---|---|
int |
addImage(EffectImage effctImage)
Deprecated.
v3.27.0 废弃,请使用
getPasterManager() 代替 |
int |
addPaster(EffectPaster effectPaster)
Deprecated.
v3.27.0 废弃,请使用
getPasterManager() 代替 |
int |
addPaster(EffectPaster effectPaster,
float sx,
float sy,
float sw,
float sh,
float rotation,
boolean flip)
Deprecated.
v3.27.0 废弃,请使用
getPasterManager() 代替 |
int |
applyAnimationFilter(EffectFilter effectFilter)
设置动效滤镜,将滤镜资源的目录填入到
EffectFilter 中,或者通过EffectFilter.Builder 来
构建 |
int |
applyFilter(EffectFilter effectFilter)
设置滤镜效果
|
int |
cancelFinishing()
取消合成视频
|
int |
deleteLastPart()
删除上一个片段
|
int |
finishRecording()
结束录制合成视频
|
int |
getBeautyLevel()
获取当前美颜度
|
int |
getCameraCount()
获取摄像头数量
|
AliyunIClipManager |
getClipManager()
获取片段管理器,特别注意:如果要删除片段,不能用
AliyunIClipManager.deletePart() 等接口,而要用deleteLastPart() |
float |
getCurrentExposureCompensationRatio()
获取当前曝光度的比例值
|
AliyunIRecordPasterManager |
getPasterManager()
获取贴图管理器
|
void |
needFaceTrackInternal(boolean need)
是否需要开启内置人脸识别
|
void |
release()
销毁并释放资源
|
void |
removeAnimationFilter(EffectFilter effctFilter)
删除动效滤镜
|
int |
removeFilter()
v3.27.0 新增
移除滤镜效果
|
void |
removeImage(EffectImage effctImage)
Deprecated.
v3.27.0 废弃,请使用
getPasterManager() 代替 |
void |
removePaster(EffectPaster effectPaster)
Deprecated.
v3.27.0 废弃,请使用
getPasterManager() 代替 |
void |
setBackgroundColor(int color)
设置合成窗口非填充模式下的背景颜色
v3.19.0 新增
|
void |
setBackgroundImage(Bitmap bitmap,
int displayMode)
设置合成窗口非填充模式下的背景图片,assets, resource文件可以使用这个接口
v3.19.0 新增
|
void |
setBeautyLevel(int level)
设置美颜度
|
void |
setBeautyStatus(boolean on)
Deprecated.
v3.27.0 废弃,请使用
setBeautyLevel(int) 代替 |
void |
setCamera(CameraType camera)
设置初始开启预览,摄像头类型,仅在第一次打开时生效,后面如果要切换摄像头使用
switchCamera() |
void |
setCameraCaptureDataMode(int captureDataMode)
设置Camera 数据回调方式
|
void |
setCameraParam(CameraParam cameraParam)
设置摄像头预览参数
|
int |
setDisplayView(SurfaceView previewView,
SurfaceView playView)
设置显示预览的
SurfaceView |
int |
setEffectView(float xRatio,
float yRatio,
float widthRatio,
float heightRatio,
EffectBase effectBase)
Deprecated.
v3.27.0 废弃,请使用
getPasterManager() 代替 |
int |
setExposureCompensationRatio(float value)
设置曝光度比例
|
void |
setFaceDetectRotation(int rotation)
设置单独的人脸识别角度,如果使用本接口,请不要使用setRotation
|
int |
setFaces(float[][] faces)
设置人脸坐标点,而二维组每个元素,代表一张脸的6个特征点。
|
void |
setFaceTrackInternalMaxFaceCount(int maxFaceCount)
设置内置人脸识别的最大识别数,最大为3个,大于3个为3个
|
int |
setFaceTrackInternalModelPath(java.lang.String path)
设置人脸识别模型文件夹路径
这里必须是包含模型文件的目录路径,模型文件的文件名不能修改
|
void |
setFocus(float xRatio,
float yRatio)
设置对焦点,仅当
setFocusMode(int) 的参数为CameraParam.FOCUS_MODE_AUTO 时有效 |
void |
setFocusMode(int mode)
设置聚焦模式
|
int |
setGop(int gop)
Deprecated.
v3.27.0 废弃,请使用
setMixMediaInfo(AliyunMixMediaInfoParam, MediaInfo) 代替 |
void |
setIsAutoClearClipVideos(boolean isAutoClear)
Added in v3.23.0, set whether to clear the clip video files, default is false
|
boolean |
setLight(FlashType flashType)
设置闪光灯模式
|
void |
setMixAudioAecType(MixAudioAecType type)
合拍开启回声消除
v3.23.0 新增
|
void |
setMixAudioSource(MixAudioSourceType type)
设置最终合成视频的音轨类型
v3.18.0新增
|
void |
setMixAudioWeight(int originAudioWeight,
int recorderAudioWeight)
v3.19.0 新增
设置混音时的音量大小,当
MixAudioSourceType.MIX 生效 |
void |
setMixedBorderParam(AliyunMixBorderParam param)
设置被合拍视频的边框圆角参数
v3.21.0 新增
|
int |
setMixMediaInfo(AliyunMixMediaInfoParam inputMediaInfo,
MediaInfo outputInfo)
设置合拍输入输出信息
|
void |
setOnAudioCallback(OnAudioCallBack callback)
回调pcm音频数据,音频数据的格式为单通道,16位,采样率为44.1khz,
|
void |
setOnChoosePictureSizeCallBack(OnChoosePictureSizeCallback callback)
设置拍照分辨率回调
|
void |
setOnFaceDetectInfoListener(OnFaceDetectInfoListener listener)
设置人脸检测信息变化的回调,当人脸检测信息发生改变时将触发
OnFaceDetectInfoListener.onFaceInfoChange(FaceDetectInfo faceDetectInfo) |
void |
setOnFrameCallback(OnFrameCallback callback)
设置采集帧回调,每采集一帧数据都通过该回调返回帧数据
|
void |
setOnRecordCallback(OnRecordCallback callback) |
void |
setOnTextureIdCallback(OnTextureIdCallback callback)
设置纹理ID回调
|
int |
setOutputPath(java.lang.String path)
设置输出文件路径
|
int |
setRate(float rate)
设置录制速率
|
void |
setRecordBorderParam(AliyunMixBorderParam param)
设置录制视频的边框圆角参数
v3.21.0 新增
|
void |
setRecordRotation(int rotation)
设置单独的录制视频角度,如果使用本接口,请不要使用setRotation
如果需要根据传感器角度来设置录制角度,需要加上计算
|
void |
setRotation(int rotation)
设置传感器的角度值,如果传感器返回的角度值不是0,90,180,270四个值中的,需要根据范围来确定
|
int |
setVideoBitrate(int bitrate)
Deprecated.
v3.27.0 废弃,请使用
setMixMediaInfo(AliyunMixMediaInfoParam, MediaInfo) 代替 |
void |
setVideoQuality(VideoQuality quality)
Deprecated.
v3.27.0 废弃, 请使用
setMixMediaInfo(AliyunMixMediaInfoParam, MediaInfo) 代替 |
int |
setZoom(float rate)
设置摄像头缩放比例
|
int |
startPreview()
开启预览
注意:该方法建议在
Activity.onResume() 生命周期函数中调用 |
int |
startRecording()
开始录制
|
void |
stopPreview()
停止预览
注意:该方法建议在
Activity.onPause() 生命周期函数中调用 |
int |
stopRecording()
停止录制
|
int |
switchCamera()
切换摄像头
|
FlashType |
switchLight()
切换闪光灯
|
int |
updateAnimationFilter(EffectFilter effectFilter)
更新动效滤镜,将滤镜资源的目录填入到
EffectFilter 中,或者通过EffectFilter.Builder 来
构建 |
AliyunIClipManager getClipManager()
AliyunIClipManager.deletePart()
等接口,而要用deleteLastPart()
AliyunIClipManager
int setOutputPath(java.lang.String path)
path
- @Deprecated void setVideoQuality(VideoQuality quality)
setMixMediaInfo(AliyunMixMediaInfoParam, MediaInfo)
代替quality
- 质量等级VideoQuality
@Deprecated int setGop(int gop)
setMixMediaInfo(AliyunMixMediaInfoParam, MediaInfo)
代替gop
- 合法的区间[0,9000] 大于等于0,且小于等于9000 0的情况下,在有的手机上可以做到全I帧,而也有一些手机做不到全I帧AliyunErrorCode.OK
--- 成功
AliyunErrorCode.ERROR_INVALID_ARGUMENTS
--- 设置的值不在合法的区间内@Deprecated int setVideoBitrate(int bitrate)
setMixMediaInfo(AliyunMixMediaInfoParam, MediaInfo)
代替bitrate
- AliyunErrorCode.ERROR_INVALID_ARGUMENTS
--设置了无效的码率值void setCamera(CameraType camera)
switchCamera()
camera
- CameraType.BACK
,
CameraType.FRONT
int setDisplayView(SurfaceView previewView, SurfaceView playView)
SurfaceView
previewView
- 摄像头预览viewplayView
- 合拍视频播放viewAliyunErrorCode.OK
, 失败-对应的错误码void setCameraCaptureDataMode(int captureDataMode)
captureDataMode
- CameraCaptureDataMode
int startPreview()
Activity.onResume()
生命周期函数中调用void stopPreview()
Activity.onPause()
生命周期函数中调用@Deprecated int addPaster(EffectPaster effectPaster)
getPasterManager()
代替setRotation(int)
实现。
添加普通动图不能使用该接口,而需要使用addPaster(EffectPaster, float, float, float, float, float, boolean)
effectPaster
- EffectPaster
@Deprecated int addPaster(EffectPaster effectPaster, float sx, float sy, float sw, float sh, float rotation, boolean flip)
getPasterManager()
代替setEffectView(float, float, float, float, EffectBase)
的执行效果会和此函数的执行效果进行叠加effectPaster
- sx
- 位置信息的x坐标(相对输出大小的比例值)sy
- 位置信息的y坐标(相对输出大小的比例值)sw
- 尺寸信息的宽度(相对输出大小的比例值)sh
- 尺寸信息的高度(相对输出大小的比例值)rotation
- 弧度flip
- 是否反转setEffectView(float, float, float, float, EffectBase)
@Deprecated void removePaster(EffectPaster effectPaster)
getPasterManager()
代替effectPaster
- @Deprecated int addImage(EffectImage effctImage)
getPasterManager()
代替effctImage
- @Deprecated void removeImage(EffectImage effctImage)
getPasterManager()
代替effctImage
- AliyunIRecordPasterManager getPasterManager()
v3.27.0新增
AliyunIRecordPasterManager
int applyFilter(EffectFilter effectFilter)
effectFilter
- 设置为null表示移除滤镜效果int removeFilter()
v3.27.0 新增 移除滤镜效果
int applyAnimationFilter(EffectFilter effectFilter)
EffectFilter
中,或者通过EffectFilter.Builder
来
构建effectFilter
- int updateAnimationFilter(EffectFilter effectFilter)
EffectFilter
中,或者通过EffectFilter.Builder
来
构建effectFilter
- void removeAnimationFilter(EffectFilter effctFilter)
effctFilter
- int getCameraCount()
void setCameraParam(CameraParam cameraParam)
cameraParam
- CameraParam
int switchCamera()
FlashType switchLight()
FlashType.AUTO
,
FlashType.OFF
,
FlashType.ON
boolean setLight(FlashType flashType)
flashType
- int setZoom(float rate)
rate
- int setExposureCompensationRatio(float value)
value
- void setFocusMode(int mode)
mode
- CameraParam.FOCUS_MODE_CONTINUE
,
CameraParam.FOCUS_MODE_AUTO
int setRate(float rate)
rate
- 范围[0.5 - 2.0]void setFocus(float xRatio, float yRatio)
setFocusMode(int)
的参数为CameraParam.FOCUS_MODE_AUTO
时有效xRatio
- 坐标点x方向上相对预览显示窗口(并非屏幕大小)的比例值yRatio
- 坐标点y方向上相对预览显示窗口(并非屏幕大小)的比例值int getBeautyLevel()
void setBeautyLevel(int level)
level
- [0, 100], 0表示没有美颜,100表示最大美颜度@Deprecated void setBeautyStatus(boolean on)
setBeautyLevel(int)
代替on
- true:开, false:关int startRecording()
int stopRecording()
int finishRecording()
void setMixAudioSource(MixAudioSourceType type)
type
- 合成视频的音轨类型com.aliyun.svideosdk.mixrecorder.MixAudioSourceType}
void setMixAudioAecType(MixAudioAecType type)
type
- 回声消除类型,默认关闭com.aliyun.svideosdk.mixrecorder.MixAudioAecType}
void setMixAudioWeight(int originAudioWeight, int recorderAudioWeight)
MixAudioSourceType.MIX
生效originAudioWeight
- 参考音频声音大小 [0~100]recorderAudioWeight
- 录制音频声音大小 [0~100]@Deprecated int setEffectView(float xRatio, float yRatio, float widthRatio, float heightRatio, EffectBase effectBase)
getPasterManager()
代替xRatio
- 位置信息的x坐标(比例值)yRatio
- 位置信息的y坐标(比例值)widthRatio
- 大小信息的宽度(比例值)heightRatio
- 大小信息的高度(比例值)effectBase
- 对应的特效素材void setOnRecordCallback(OnRecordCallback callback)
callback
- void setOnFrameCallback(OnFrameCallback callback)
callback
- OnFrameCallback
void setOnChoosePictureSizeCallBack(OnChoosePictureSizeCallback callback)
callback
- void setOnAudioCallback(OnAudioCallBack callback)
callback
- int setFaces(float[][] faces)
faces
- nx6的二维数组,6表示6个特征点
point[i][0] => LEFT_EYE_X 左眼X
point[i][1] => LEFT_EYE_Y 左眼Y
point[i][2] => RIGHT_EYE_X 右眼X
point[i][3] => RIGHT_EYE_Y 右眼Y
point[i][4] => MOUTH_X 嘴部X
point[i][5] => MOUTH_Y 嘴部Y
表示第i张脸的6个特征点。void setRotation(int rotation)
private int getSensorRotation() { int orientation = orientationDetector.getOrientation(); int rotation = 90; if (orientation >= 45 && orientation < 135) { rotation = 180; } if (orientation >= 135 && orientation < 225) { rotation = 270; } if (orientation >= 225 && orientation < 315) { rotation = 0; } if (mCameraType == CameraType.FRONT) { if (rotation != 0) { rotation = 360 - rotation; } } return rotation; }
rotation
- Do not use this method to control the angle when performing facial recognition or recording.setFaceDetectRotation(int)
,
setRecordRotation(int)
void setFaceDetectRotation(int rotation)
setRecordRotation(int)
,
setRotation(int)
void setRecordRotation(int rotation)
if (rotation == 90 || rotation == 270) { rotation = (rotation + 90) % 360; if (mAliyunCamera.getCameraInfo().facing == CameraInfo.CAMERA_FACING_BACK) { rotation += 180; rotation %= 360; } } else if (rotation == 0 || rotation == 180) { rotation = (rotation + 270) % 360; }
setRotation(int)
,
setFaceDetectRotation(int)
void setOnTextureIdCallback(OnTextureIdCallback callback)
callback
- OnTextureIdCallback
void setOnFaceDetectInfoListener(OnFaceDetectInfoListener listener)
OnFaceDetectInfoListener.onFaceInfoChange(FaceDetectInfo faceDetectInfo)
listener
- float getCurrentExposureCompensationRatio()
void needFaceTrackInternal(boolean need)
need
- int setFaceTrackInternalModelPath(java.lang.String path)
path
- AliyunErrorCode.OK
-成功
AliyunErrorCode.ERROR_INVALID_ARGUMENTS
-失败,文件无效(文件路径错误,或者文件损坏/不完整)void setFaceTrackInternalMaxFaceCount(int maxFaceCount)
maxFaceCount
- int setMixMediaInfo(AliyunMixMediaInfoParam inputMediaInfo, MediaInfo outputInfo)
int deleteLastPart()
int cancelFinishing()
void release()
void setBackgroundColor(int color)
color
- void setBackgroundImage(Bitmap bitmap, int displayMode)
bitmap
- displayMode
- 0:裁切 1:填充 2:拉伸void setRecordBorderParam(AliyunMixBorderParam param)
param
- 录制视频的边框参数 AliyunMixBorderParam
void setMixedBorderParam(AliyunMixBorderParam param)
param
- 录制视频的边框参数 AliyunMixBorderParam
void setIsAutoClearClipVideos(boolean isAutoClear)
isAutoClear
-