上云无忧 > 文档中心 > 百度智能云短视频 SDK Android开发 - 录制
短视频 SDK
百度智能云短视频 SDK Android开发 - 录制

文档简介:
录制的相关接口是在com.baidu.ugc.record.RecordManager类里,包括录制、美颜、贴纸和滤镜。 初始化接口: 设置预览画面: void setGLSurfaceView(GLSurfaceView view) 初始化录像机: void init(RecordManager.ICamera cameraManager, int cameraFrameRate, int videoBitrate, boolean isCameraFront, java.lang.Stri
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
  • 录制的相关接口是在com.baidu.ugc.record.RecordManager类里,包括录制、美颜、贴纸和滤镜

初始化接口

设置预览画面

void   setGLSurfaceView(GLSurfaceView view)

初始化录像机

void   init(RecordManager.ICamera cameraManager, int cameraFrameRate, int videoBitrate,
 boolean isCameraFront, java.lang.String outputDir, java.lang.String arDataPath)

数据加载

void   loadData(RecordManager.OnDataLoadCallback listener)

注意:在实例化new RecordManager(this, appid)需要传人自己的appid(即用户申请的licenseID),否则无法通过鉴权;

可通过修改配置文件com.baidu.smartminivideo.capture.shoot.config.Config.java中的LICENSE_APPID进行appid的修改; 若未申请授权,请参考快速接入

生命周期方法

初始化 -> resume -> pause -> destroy

停止预览:一般在在Activit的onStop时调用

void    pause()

开始预览:一般在Activity的onStart时调用

void    resume()

对象销毁,销毁后需要重新创建对象

void    destroy()

相机设置

获取到摄像头的状态

boolean isFrontCamera()

相机的当前摄像头是否正在处于预览中

boolean isPreviewing()

设置前后摄像头

protected void  setCameraFace(boolean front)

相机尺寸,默认720P,如果摄像头不支持,那么会取相近比例的尺寸

void    setCameraSize(int w, int h)

相机切换前后摄像头

void    switchCamera()

录制与停止录制

录制

获取当前录制视频的完整路径

String    getVideoAbsoluteFile()

是否为正在录制

boolean isRecording()

设定视频输出目录

boolean setVideoPath(java.lang.String videoFileDir)

开始录制

boolean startRecording()

停止录制

boolean stopRecording()

美颜设置

  • 美颜设置接口,代码示例如下:
//调整美颜程度
void setBeauty(float v) //参数0.0f不美颜
//调整美白程度
void setBeautyWhite(float value)

//调整磨皮程度
void setBeautyBlure(float value)

//调整大眼程度
void    setEnlargeEye(float value)

//调整瘦脸程度
void    setCheekThin(float value)
  • 注意:使用高级美颜时,需要申请对应权限,免费版本不支持此功能

滤镜设置

设置滤镜

void setFilter(Filter filter)

滤镜参数

void setFilterLevel(float v)

贴纸设置

设置贴纸道具

void setStickerEffect(Sticker sticker, java.lang.String tabName)

下载贴纸

  • 【v3.0】版本后,贴纸采用后下载方式使用,开通license的同时可以在Console购买或选择贴纸信息;
  • Console地址跳转:跳转Console
  • 使用贴纸涉及两个接口,获取贴纸列表信息、贴纸文件下载使用

一、获取贴纸列表信息,即用于产品贴纸展示,建议开发者提前获取贴纸列表,可缓存,减少用户等待。下方获取贴纸列表数据实例代码:

1:调用加载贴纸列表数据

相关类:com.baidu.smartminivideo.capture.sticker.helper.LoadSticker


public void loadStickerDatas() {
    String appId = Config.LICENSE_APPID;
    String sdkVersion = Config.sdkVersion;
    DownStickerHelper loadStickerHelper = new DownStickerHelper(SmartminivideoApplication.getContext(),
            appId, sdkVersion);
    loadStickerHelper.loadStickerList(this);
}

2:在第一步调用之后,会回调两个方法,将贴纸数据字符串传输回来

成功回调:
@Override
public void onListSuccess(String stickerList) {}


失败回调:
@Override
public void onFail(String msg) {}

二、贴纸文件下载使用。即用户选择某个贴纸后,下载贴纸并且加载使用。注:部分贴纸还会涉及模型下载,见下方实例代码:
1:调用加载单个贴纸数据

相关类:com.baidu.smartminivideo.capture.sticker.helper.LoadSticker

public void loadOneSticker(String faceId) {
    String appId = Config.LICENSE_APPID;
    String sdkVersion = Config.sdkVersion;
    DownStickerHelper loadStickerHelper = new DownStickerHelper(SmartminivideoApplication.getContext(),
            appId, sdkVersion);
    loadStickerHelper.loadOneStickerList(Long.parseLong(faceId), this);
}

2:在第一步调用之后,会回调两个方法,将单个贴纸数据字符串传输回来

成功回调:
@Override
public void onOneSuccess(String sticker) {}

失败回调:
@Override
public void onFail(String msg) {}

3:在第3步回调之后,若成功获取单个贴纸数据,则将继续下载贴纸文件,见下方实例代码:

具体可查看demo工程中相关类:
com.baidu.smartminivideo.capture.sticker.StickerAdapter
com.baidu.smartminivideo.capture.beautify.StickerDownloadManager


StickerDownloadManager.download(item, new StickerDownloadManager.OnStickerDownloadCallback<FuFaceItem>() {
        @Override
        public void onStarted(FuFaceItem tag) {
            holder.startLoadingAnim();
        }

        @Override
        public void onProgress(FuFaceItem tag, long finished, long total, int progress) {

        }

        @Override
        public void onCompleted(FuFaceItem faceItem) {
            if (mLastClickIndex != position) {
                notifyDataSetChanged();
                return;
            }
            mSelectedIndex = position;
            notifyDataSetChanged();
            if (mListener != null) {
                mListener.onSelectSticker(item, faceItem.getFilePath());
            }
        }

        @Override
        public void onFailed(FuFaceItem faceItem, int what, int ext, String msg) {
            Log.e("StickerAdapter", "onFailed:" + faceItem.name
                    + ", what:" + what + ", ext:" + ext + ", msg:" + msg);
            notifyDataSetChanged();
        }
    });
}
相似文档
  • 注册账号及实名认证请您参考注册账号和实名认证。短视频SDK目前对个人认证还是企业认证不做要求,推荐您进行企业认证。
  • 支持的系统与设备: 手机设备:- 华为、小米、OPPO、VIVO等主流机型。 - iphone6及以上。 操作系统:- ios 9.0以上系统。 - Android 4.4以上系统。
  • 短视频SDK中集成了AR特效的能力,您可以选择下载您申请的license中的AR版本对应的SDK版本。
  • 1 Demo下载 我们提供完整的demo APP,包含AR特效能力和短视频拍摄&编辑全能力; 您可扫描以下二维码下载安装体验。 下载demo需要密码,密码为:bdcloud。 2 特效demo体验: (1)互动特效case-人脸特效。 多人脸贴纸特效。
  • 开发类问题: 开发环境要求。 提示license过期。 美颜、美妆、贴纸等无效果。 需要录音权限。 本地添加贴纸。 内容制作类: 怎样制作特效贴纸? 有音乐资源吗?
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部