录屏分享系统

来自AnySDK 文档
跳转至: 导航搜索
录屏分享类SDK针对手游录像和快速分享提供了一整套的解决方案。支持基于OpenGL ES的游戏引擎,比如Cocos2d-x、 Unity3d 以及其它的游戏引擎。

相关接口

设置录屏分享回调监听

分享系统存在回调信息,需要设置监听。

rec_plugin = agent.getRECPlugin();
// set rec result listener
if (rec_plugin)
    rec_plugin.setResultListener(this.onRECResult, this);

开发者需要重写回调方法

    onRECResult:function(code, msg){
        switch(code)
        {
        case RECResultCode.kRECInitSuccess://初始化成功
            cc.log("kRECInitSuccess\n");
            break;
        case RECResultCode.kRECInitFail://初始化失败
            cc.log("kRECInitFail\n");
            break;
        case RECResultCode.kRECStartRecording://开始录制
            cc.log("kRECStartRecording \n");
            break;
        case RECResultCode.kRECStopRecording://结束录制
            cc.log("kRECStopRecording \n");
            break;
        case RECResultCode.kRECPauseRecording://暂停录制
            cc.log("kRECPauseRecording \n");
            break;
        case RECResultCode.kRECResumeRecording://恢复录制
            cc.log("kRECResumeRecording \n");
            break;
        case RECResultCode.kRECEnterSDKPage://进入SDK页面
            cc.log("kRECEnterSDKPage \n");
            break;
        case RECResultCode.kRECQuitSDKPage://退出SDK页面
            cc.log("kRECQuitSDKPage \n");
            break;
        case RECResultCode.kRECShareSuccess://视频分享成功
            cc.log("kRECShareSuccess \n");
            break;
        case RECResultCode.kRECShareFail://视频分享失败
            cc.log("kRECShareFail \n");
            break;
        default:
            break;
        }
    }

开始录制

void startRecording();

接口说明:

开始视频录制

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.startRecording) 
{
    rec_plugin.startRecording();
}

结束录制

void stopRecording();

接口说明:

结束视频录制

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.stopRecording) 
{
    rec_plugin.stopRecording();
}

分享

void share(std::map<std::string, std::string> info;);

接口说明:

分享

参数信息:

参数 参数说明
Video_Title 视频标题
Video_Desc 视频描述

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.share) 
{
     var info = {
        Video_Title : "RECSDK",
        Video_Desc:"RECSDK是一个神奇的SDK"
    };
    rec_plugin.share(info);
}

扩展函数

暂停录制

void pauseRecording();

接口说明:

暂停视频录制

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.pauseRecording) 
{
    rec_plugin.pauseRecording();
}

恢复录制

void resumeRecording();

接口说明:

恢复视频录制

范例

rec_plugin = anysdk.AgentManager.getInstance().getRECPlugin();
if (rec_plugin && rec_plugin.resumeRecording) 
{
    rec_plugin.resumeRecording();
}

设备是否支持录制

bool isAvailable();

接口说明:

判断设备是否支持,支持返回ture,否则返回false

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.isAvailable) 
{
    return rec_plugin.isAvailable();
}

获取录制状态

bool isRecording();

接口说明:

当前视频是否正在录制,true:正在录制,false:未录制

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.isRecording) 
{
    return rec_plugin.isRecording();
}

显示工具条

void showToolBar();

接口说明:

显示工具条界面

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.showToolBar) 
{
    rec_plugin.showToolBar();
}

隐藏工具条

void hideToolBar();

接口说明:

隐藏工具条界面

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.hideToolBar) 
{
    rec_plugin.hideToolBar();
}

显示视频中心

void showVideoCenter();

接口说明:

显示视频中心

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.showVideoCenter) 
{
    rec_plugin.showVideoCenter();
}

显示平台中心

void enterPlatform();

接口说明:

进入平台中心

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.enterPlatform) 
{
    rec_plugin.enterPlatform();
}

设置视频相关数据

void setMetaData(std::map<string,string> data);

接口说明:

设置视频相关数据,建议先检查是否是正在录制

范例

rec_plugin = agent.getRECPlugin();
if (rec_plugin && rec_plugin.setMetaData) 
{
    var data = {ext:"login"};
    rec_plugin.setMetaData(data);
}