录屏分享系统

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

相关接口

设置录屏分享回调监听

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

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil then
    rec_plugin:setResultListener(onRECResult)
end

开发者需要重写回调方法

local function onRECResult(code, msg )
    print(msg)
    if code == RECResultCode.kRECInitSuccess then
        --MessageBox(msg, "kRECInitSuccess")
    elseif code == RECResultCode.RECInitFail then
        --MessageBox(msg, "RECInitFail")
    elseif code == RECResultCode.kRECStartRecording then
        --MessageBox(msg, "kRECStartRecording")
    elseif code == RECResultCode.kRECStopRecording then
        --MessageBox(msg, "kRECStopRecording")
    elseif code == RECResultCode.kRECPauseRecording then
        --MessageBox(msg, "kRECPauseRecording")
    elseif code == RECResultCode.kRECResumeRecording then
        --MessageBox(msg, "kRECResumeRecording")
    elseif code == RECResultCode.kRECEnterSDKPage then
        --MessageBox(msg, "kRECEnterSDKPage")
    elseif code == RECResultCode.kRECQuitSDKPage then
        --MessageBox(msg, "kRECQuitSDKPage")
    elseif code == RECResultCode.kRECShareSuccess then
        --MessageBox(msg, "kRECShareSuccess")
    elseif code == RECResultCode.kRECShareFail then
        --MessageBox(msg, "kRECShareFail")
    end
end

开始录制

void startRecording();

接口说明:

开始视频录制

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil then
    rec_plugin:startRecording()
end

结束录制

void stopRecording();

接口说明:

结束视频录制

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil then
    rec_plugin:stopRecording()
end

分享

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

接口说明:

分享

参数信息:

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

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil then
    local info = {
        Video_Desc = "RECSDK",
        Video_Title = "RECSDK是一个神奇的SDK"
    }
    rec_plugin:share(info)
end

扩展函数

暂停录制

void pauseRecording();

接口说明:

暂停视频录制

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("pauseRecording")then
    rec_plugin:callFuncWithParam("pauseRecording")
end

恢复录制

void resumeRecording();

接口说明:

恢复视频录制

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("resumeRecording")then
    rec_plugin:callFuncWithParam("resumeRecording")
end

设备是否支持录制

bool isAvailable();

接口说明:

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

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("isAvailable")then
    return rec_plugin:callBoolFuncWithParam("isAvailable")
end

获取录制状态

bool isRecording();

接口说明:

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

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("isAvailable")then
    return rec_plugin:callBoolFuncWithParam("isRecording")
end

显示工具条

void showToolBar();

接口说明:

显示工具条界面

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("showToolBar")then
    rec_plugin:callFuncWithParam("showToolBar")
end

隐藏工具条

void hideToolBar();

接口说明:

隐藏工具条界面

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("hideToolBar")then
    rec_plugin:callFuncWithParam("hideToolBar")
end

显示视频中心

void showVideoCenter();

接口说明:

显示视频中心

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("showVideoCenter")then
    rec_plugin:callFuncWithParam("showVideoCenter")
end

显示平台中心

void enterPlatform();

接口说明:

进入平台中心

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
if rec_plugin ~= nil and rec_plugin:isFunctionSupported("enterPlatform")then
    rec_plugin:callFuncWithParam("enterPlatform")
end

设置视频相关数据

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

接口说明:

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

范例

rec_plugin = AgentManager:getInstance():getRECPlugin()
iif rec_plugin ~= nil and rec_plugin:isFunctionSupported("setMetaData") then
    local info = {
        EXT = "RECSDK",
    }
    local data = PluginParam:create(info)
    rec_plugin:callFuncWithParam("setMetaData",data)
end