录屏分享系统

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

相关接口

设置录屏分享回调监听

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

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec) return;
rec->setResultListener(this);

开发者需要重写回调方法

void REC::onRECResult(RECResultCode ret, const char* msg)
{
    printf("onRECResult %d\n",ret);
    switch(ret)
    {
    case kRECInitSuccess://初始化成功
        printf("kRECInitSuccess\n");
        break;
    case kRECInitFail://初始化失败
        printf("kRECInitFail\n");
        break;
    case kRECStartRecording://开始录制
        printf("kRECStartRecording \n");
        break;
    case kRECStopRecording://结束录制
        printf("kRECStopRecording \n");
        break;
    case kRECPauseRecording://暂停录制
        printf("kRECPauseRecording \n");
        break;
    case kRECResumeRecording://恢复录制
        printf("kRECResumeRecording \n");
        break;
    case kRECEnterSDKPage://进入SDK页面
        printf("kRECEnterSDKPage \n");
        break;
    case kRECQuitSDKPage://退出SDK页面
        printf("kRECQuitSDKPage \n");
        break;
    case kRECShareSuccess://视频分享成功
        printf("kRECShareSuccess \n");
        break;
   case kRECShareFail://视频分享失败
        printf("kRECShareFail\n");
        break;
    default:
        break;
    }
    
}

开始录制

void startRecording();

接口说明:

开始视频录制

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec) return;
rec->startRecording();

结束录制

void stopRecording();

接口说明:

结束视频录制

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec) return;
rec->stopRecording();

分享

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

接口说明:

分享

参数信息:

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

范例

    ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
    if(!rec) return;
    std::map<std::string, std::string> info;
    info["Video_Desc"] = "RECSDK是一个神奇的SDK";
    info["Video_Title"] = "RECSDK";
    rec->share(info);

扩展函数

暂停录制

void pauseRecording();

接口说明:

暂停视频录制

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("pauseRecording")) return;
rec->callFuncWithParam("pauseRecording",NULL);

恢复录制

void resumeRecording();

接口说明:

恢复视频录制

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("resumeRecording")) return;
rec->callFuncWithParam("resumeRecording",NULL);

设备是否支持录制

bool isAvailable();

接口说明:

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

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("isAvailable")) return;
bool result = rec->callBoolFuncWithParam("isAvailable",NULL);

获取录制状态

bool isRecording();

接口说明:

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

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("isRecording")) return;
bool result = rec->callBoolFuncWithParam("isRecording",NULL);

显示工具条

void showToolBar();

接口说明:

显示工具条界面

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("showToolBar")) return;
rec->callFuncWithParam("showToolBar",NULL);

隐藏工具条

void hideToolBar();

接口说明:

隐藏工具条界面

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("hideToolBar")) return;
rec->callFuncWithParam("hideToolBar",NULL);

显示视频中心

void showVideoCenter();

接口说明:

显示视频中心

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("showVideoCenter")) return;
rec->callFuncWithParam("showVideoCenter",NULL);

显示平台中心

void enterPlatform();

接口说明:

进入平台中心

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("enterPlatform")) return;
rec->callFuncWithParam("enterPlatform",NULL);

设置视频相关数据

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

接口说明:

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

范例

ProtocolREC * rec = AgentManager::getInstance()->getRECPlugin();
if(!rec || !rec->isFunctionSupported("setMetaData")) return;
std::map<std::string, std::string> info;
info["key"] = "value";
PluginParam data(info);
rec->callFuncWithParam("setMetaData",&data, NULL);