短视频录制接口类
interface com::tencent::ugc::TXUGCPartsManager::IPartsManagerListener |
Public 成员函数 | |
void | onDeleteLastPart () |
void | onDeleteAllParts () |
void onDeleteAllParts | ( | ) |
在 TXUGCRecord 内被实现.
void onDeleteLastPart | ( | ) |
在 TXUGCRecord 内被实现.
class com::tencent::ugc::TXUGCPartsManager |
Public 成员函数 | |
TXUGCPartsManager (Context context) | |
synchronized void | setPartsManagerObserver (IPartsManagerListener iPartsManagerListener) |
synchronized void | removePartsManagerObserver (IPartsManagerListener iPartsManagerListener) |
void | addClipInfo (PartInfo partInfo) |
void | insertPart (String videoPath, int index) |
int | getDuration () |
List< String > | getPartsPathList () |
void | deleteLastPart () |
void | deletePart (int index) |
void | deleteAllParts () |
|
inline |
|
inline |
添加视频片段到队列尾部 注意:添加的视频片段必须要跟录制的参数一致,否则会合成失败
partInfo |
|
inline |
删除所有分段
|
inline |
删除最后一段分段
|
inline |
删除指定分段
index | 分段序号,从1开始 |
|
inline |
获取所有分段的总时长
|
inline |
获取本次录制所有片段的路径
|
inline |
插入视频片段 您可以添加当前录制视频之外的视频,调用stopRecord()的时候,SDK会把所有的视频合成(这里添加的视频需要和录制视频的参数保持一致,否则会合成失败)
videoPath | 添加视频的文件路径 |
index | 添加视频的所在整个视频list的位置 |
|
inline |
|
inline |
interface com::tencent::ugc::TXUGCRecord::VideoCustomProcessListener |
Public 成员函数 | |
int | onTextureCustomProcess (int textureId, int width, int height) |
void | onDetectFacePoints (float[] points) |
void | onTextureDestroyed () |
void onDetectFacePoints | ( | float[] | points | ) |
增值版回调人脸坐标
points | 归一化人脸坐标,每两个值表示某点P的X,Y值。值域[0.f,1.f] |
int onTextureCustomProcess | ( | int | textureId, |
int | width, | ||
int | height | ||
) |
在OpenGL线程中回调,在这里可以进行采集图像的二次处理
textureId | 纹理ID |
width | 纹理的宽度 |
height | 纹理的高度 |
说明:SDK回调出来的纹理类型是GLES20.GL_TEXTURE_2D,接口返回给SDK的纹理类型也必须是GLES20.GL_TEXTURE_2D
void onTextureDestroyed | ( | ) |
在OpenGL线程中回调,可以在这里释放创建的OpenGL资源
class com::tencent::ugc::TXUGCRecord |
Public 成员函数 | |
void | setVideoRecordListener (TXRecordCommon.ITXVideoRecordListener listener) |
void | onDeleteLastPart () |
void | onDeleteAllParts () |
int | startCameraSimplePreview (TXRecordCommon.TXUGCSimpleConfig config, TXCloudVideoView previewView) |
int | startCameraCustomPreview (TXRecordCommon.TXUGCCustomConfig config, TXCloudVideoView previewView) |
void | setVideoResolution (int resolution) |
void | setVideoBitrate (int bitrate) |
void | stopCameraPreview () |
TXUGCPartsManager | getPartsManager () |
void | setMute (boolean isMute) |
int | startRecord () |
int | startRecord (final String videoFilePath, final String coverPath) |
int | startRecord (final String videoFilePath, final String videoPartFolder, final String coverPath) |
int | stopRecord () |
void | release () |
int | pauseRecord () |
int | resumeRecord () |
boolean | setMicVolume (float x) |
boolean | switchCamera (final boolean isFront) |
void | setAspectRatio (int displayType) |
void | snapshot (final TXRecordCommon.ITXSnapshotListener listener) |
void | setRecordSpeed (int recordSpeed) |
void | setVideoProcessListener (VideoCustomProcessListener listener) |
void | setReverb (int reverbType) |
void | setVoiceChangerType (int voiceChangerType) |
int | setBGM (String path) |
void | setBGMNofify (TXRecordCommon.ITXBGMNotify notify) |
boolean | playBGMFromTime (int startTime, int endTime) |
boolean | stopBGM () |
boolean | pauseBGM () |
boolean | resumeBGM () |
boolean | seekBGM (int startTime, int endTime) |
boolean | setBGMVolume (float x) |
int | getMusicDuration (String path) |
void | setWatermark (Bitmap watermarkBitmap, TXVideoEditConstants.TXRect txRect) |
void | setMotionTmpl (final String tmplPath) |
void | setMotionMute (boolean motionMute) |
void | setGreenScreenFile (String path, boolean isLoop) |
void | setFaceVLevel (int level) |
void | setFaceShortLevel (int level) |
void | setChinLevel (int level) |
void | setNoseSlimLevel (int level) |
void | setEyeScaleLevel (float level) |
void | setFaceScaleLevel (float level) |
void | setBeautyStyle (int style) |
void | setBeautyDepth (int style, int beautyDepth, int whiteningDepth, int ruddyDepth) |
void | setFilter (Bitmap filterImage) |
void | setFilter (Bitmap leftBitmap, float leftIntensity, Bitmap rightBitmap, float rightIntensity, float leftRadio) |
void | setSpecialRatio (float specialRatio) |
boolean | toggleTorch (boolean enable) |
int | getMaxZoom () |
boolean | setZoom (int value) |
void | setFocusPosition (float eventX, float eventY) |
void | setVideoRenderMode (int renderMode) |
void | setHomeOrientation (int homeOrientation) |
void | setRenderRotation (int renderRotation) |
void | onRecordRawPcmData (byte[] data, long timestamp, int sampleRate, int channels, int bits, boolean withBgm) |
void | onRecordPcmData (byte[] data, long timestamp, int sampleRate, int channels, int bits) |
void | onRecordEncData (byte[] data, long timestamp, int sampleRate, int channels, int bits) |
void | onRecordError (int errNo, String errInfo) |
void | onSurfaceTextureAvailable (SurfaceTexture surfaceTexture) |
void | onSurfaceTextureDestroy (SurfaceTexture surfaceTexture) |
void | onNotifyEvent (int event, Bundle param) |
int | willAddWatermark (int texture, int width, int height) |
void | didProcessFrame (int texture, int width, int height, long timestamp) |
void | didProcessFrame (byte[] data, int width, int height, int format, long timestamp) |
void | didDetectFacePoints (float[] points) |
void | onEncodeNAL (TXSNALPacket nal, int errCode) |
void | onEncodeFormat (MediaFormat format) |
void | onEncodeFinished (int streamType, long gopIndex, long rpsFrameIndex) |
void | onRestartEncoder (int streamType) |
void | onEncodeDataIn (int streamType) |
int | onTextureProcess (int textureId, float[] matrix) |
void | onBufferProcess (byte[] nv21, float[] matrix) |
TXBeautyManager | getBeautyManager () |
静态 Public 成员函数 | |
static synchronized TXUGCRecord | getInstance (Context context) |
静态 Public 属性 | |
static float | PLAY_SPEED_FASTEST = 0.5f |
static float | PLAY_SPEED_FAST = 0.8f |
static float | PLAY_SPEED_SLOW = 1.25f |
static float | PLAY_SPEED_SLOWEST = 2f |
static float | ENCODE_SPEED_FASTEST = 2f |
static float | ENCODE_SPEED_FAST = 1.25f |
static float | ENCODE_SPEED_SLOW = 0.8f |
static float | ENCODE_SPEED_SLOWEST = 0.5f |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
获取美颜管理对象
通过美颜管理,您可以使用以下功能:
|
inlinestatic |
获取录制实例
context | 用于系统api调用,内部会转成applicationContext,不会导致context泄露 |
|
inline |
获取摄像头支持的最大焦距,此方法同时可以检查是否支持变焦
|
inline |
获取音乐文件时长. [精简版不支持]
path | 音乐文件路径 path == null 获取当前播放歌曲时长 path != null 获取path路径歌曲时长 |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
暂停播放背景音乐 [精简版不支持]
|
inline |
暂停视频录制
|
inline |
播放背景音乐. [精简版不支持]
startTime | 音乐播放起始时间 ms |
endTime | 音乐播放结束时间 ms |
|
inline |
释放资源
|
inline |
继续播放背景音乐 [精简版不支持]
|
inline |
继续视频录制
|
inline |
定位BGM开始结束时间 [精简版不支持]
startTime | 开始时间,单位ms |
endTime | 结束时间,单位ms |
|
inline |
设置宽高比
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用
displayType | TXRecordCommon.VIDEO_ASPECT_RATIO_9_16,VIDEO_ASPECT_RATIO_3_4,VIDEO_ASPECT_RATIO_1_1 |
|
inline |
设置美颜 和 美白 效果级别
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用 设置的值会在调用stopCameraPreview() 后失效
style | 美颜风格.三种美颜风格:0 :光滑 1:自然 2:优图 |
beautyDepth | : 美颜级别取值范围 0 ~ 9; 0 表示关闭 1 ~ 9值越大 效果越明显。 |
whiteningDepth | : 美白级别取值范围 0 ~ 9; 0 表示关闭 1 ~ 9值越大 效果越明显。 |
ruddyDepth | : 红润级别取值范围 0 ~ 9; 0 表示关闭 1 ~ 9值越大 效果越明显。 |
|
inline |
|
inline |
设置背景音乐文件 [精简版不支持]
开始录制(调用startRecord接口)之后不能切换背景音乐,可能会导致异常,如果需要切换音乐,请先停止视频录制(调用stopRecord接口)
path | 音乐文件路径 |
|
inline |
设置背景音乐播放回调接口. [精简版不支持]
该接口用于混音处理,比如将背景音乐与麦克风采集到的声音混合后播放.
notify | 回调借口,详细请参看TXRecordCommon.ITXBGMNotify |
|
inline |
设置背景音乐的音量大小. [精简版不支持]
该接口用于混音处理,比如将背景音乐与麦克风采集到的声音混合后播放. 请在 playBGMFromTime(int, int) 后调用
x | 音量大小,1为正常音量,建议值为0~2,如果需要调大背景音量可以设置更大的值. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
setFilter 设置指定素材滤镜特效
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用 设置的值会在调用stopCameraPreview() 后失效
filterImage | : 指定素材,即颜色查找表图片。注意:一定要用png格式!!! demo用到的滤镜查找表图片位于RTMPAndroidDemo/app/src/main/res/drawable-xxhdpi/目录下。 |
|
inline |
setFilter 设置组合滤镜特效
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用 设置的值会在调用stopCameraPreview() 后失效
leftBitmap | 左侧滤镜 注意:一定要用png格式!! |
leftIntensity | 左侧滤镜程度 |
rightBitmap | 右侧滤镜 注意:一定要用png格式!! |
rightIntensity | 右侧滤镜程度 |
leftRadio | 左侧图片占的比例大小 |
|
inline |
设置手动聚焦
eventX | 聚焦点的位置x值 |
eventY | 聚焦点的位置y值 |
|
inline |
设置绿幕文件 [仅支持企业版Pro]
目前图片支持jpg/png,视频支持mp4/3gp等Android系统支持的格式 API要求18
path | :绿幕文件位置,支持两种方式: 1.资源文件放在assets目录,path直接取文件名 2.path取文件绝对路径 |
isLoop | :图片文件忽略,视频文件设置是否循环播放 |
|
inline |
设置home键方向
homeOrientation | home方向取常量 TXLiveConstants#VIDEO_ANGLE_HOME_RIGHT(home键在右) TXLiveConstants#VIDEO_ANGLE_HOME_DOWN(home键在下) TXLiveConstants#VIDEO_ANGLE_HOME_LEFT(home键在左) TXLiveConstants#VIDEO_ANGLE_HOME_UP(home键在上) |
|
inline |
设置麦克风的音量大小.
该接口用于混音处理,比如将背景音乐与麦克风采集到的声音混合后播放. 请在 playBGMFromTime(int, int) 后调用
x | 音量大小,1为正常音量,建议值为0~2,如果需要调大音量可以设置更大的值. |
|
inline |
|
inline |
setMotionTmpl 设置动效文件 [仅支持企业版和企业版Pro]
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用
tmplPath | 文件路径: 空String ""则取消动效 |
|
inline |
|
inline |
|
inline |
录制速度 [精简版不支持]
|
inline |
设置渲染方向
renderRotation | 渲染方向取常量 TXLiveConstants#RENDER_ROTATION_0(常规竖屏) TXLiveConstants#RENDER_ROTATION_90(左旋90度) TXLiveConstants#RENDER_ROTATION_180(左旋180度) TXLiveConstants#RENDER_ROTATION_270(左旋270度) |
|
inline |
设置混响 [精简版不支持]
|
inline |
setSpecialRatio 设置滤镜效果程度
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用 设置的值会在调用stopCameraPreview() 后失效
specialRatio | : 从0到1,越大滤镜效果越明显,默认取值0.5 |
|
inline |
bitrate |
|
inline |
设置自定义图像处理回调 [精简版不支持]
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用
listener |
|
inline |
设置录制回调接口
listener | 录制结果回调接口 |
|
inline |
渲染模式TXRecordCommon:RENDER_MODE_FULL_FILL_SCREEN / RENDER_MODE_ADJUST_RESOLUTION
在视频比例9:16时的渲染模式,RENDER_MODE_FULL_FILL_SCREEN:将图像等比例铺满整个屏幕,多余部分裁剪掉,此模式下画面不留黑边
RENDER_MODE_ADJUST_RESOLUTION:将图像等比例缩放,缩放后的宽和高都不会超过显示区域,居中显示
renderMode |
|
inline |
单独设置分辨率
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用并且开始录制后不要调用,调用后摄像头会重启
resolution | TXRecordCommon.VIDEO_RESOLUTION_xxx |
|
inline |
设置变声 [精简版不支持]
|
inline |
设置全局水印 [精简版不支持]
TXRect-水印相对于视频图像的归一化值,sdk内部会根据水印宽高比自动计算height 比如视频图像大小为(540,960) TXRect三个参数设置为0.1,0.1,0.1,水印的实际像素坐标为(540 *,960 * 0.1,540 * 0.1 ,540 * 0.1 * watermarkBitmap.height / watermarkBitmap.width)
watermarkBitmap | 全局水印图片 |
txRect | 归一化坐标 |
|
inline |
设置焦距
value | 焦距,取值 0~getMaxZoom(); |
|
inline |
截图
listener | void onSnapshot(Bitmap bmp) |
|
inline |
启动摄像头预览
config | 自定义预览参数,详细请参看TXRecordCommon.TXUGCCustomConfig videoBitrate建议值600-12000(SDK上限不再做限制);videoFps范围15-30;videoGop范围1-10s |
previewView | 预览视频的渲染view. |
|
inline |
启动摄像头预览
config | 简化预览参数,详细请参看TXRecordCommon.TXUGCSimpleConfig |
previewView | 预览视频的渲染view. |
|
inline |
开始视频录制,SDK内部会自动生成视频路经和视频封面,在TXVideoRecordListener里面返回
注意:这个接口SDK会自动管理生成的视频和封面,在下次调用startRecord的时候,SDK会自动删除上一次生成的视频和封面
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用
|
inline |
开始视频录制
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用
注意:这个接口客户需要自己管理生成的视频和封面,在不需要视频的时候自行删除
videoFilePath | 视频文件全路径,调用者保证该路径能正常生成文件 |
coverPath | 视频封面截图,为空表示不需要生成视频封面 |
|
inline |
开始视频录制
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用
注意:这个接口客户需要自己管理生成的视频和封面,在不需要视频的时候自行删除
videoFilePath | 视频文件全路径,调用者保证该路径能正常生成文件 |
videoPartFolder | 视频分段录制的文件存储目录,如果此参数为null,则使用/sdcard/TXUGC/TXUGCParts这个默认路径 |
coverPath | 视频封面截图,为空表示不需要生成视频封面 |
|
inline |
停止播放背景音乐. [精简版不支持]
该接口用于混音处理,比如将背景音乐与麦克风采集到的声音混合后播放.
|
inline |
|
inline |
停止视频录制
请在 startRecord() 后调用
|
inline |
切换前后摄像头
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用 设置的值会在调用stopCameraPreview() 后失效
isFront | 是否前置摄像头 |
|
inline |
toggleTorch, 打开闪关灯
请在 startCameraSimplePreview(TXRecordCommon.TXUGCSimpleConfig, TXCloudVideoView) 或者 startCameraCustomPreview(TXRecordCommon.TXUGCCustomConfig, TXCloudVideoView) 后调用 设置的值会在调用stopCameraPreview() 后失效
enable | true, 打开,false, 关闭. |
|
inline |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |