《录屏系统》

录屏分享类 SDK 针对手游录像和快速分享提供了一整套的解决方案。支持基于 OpenGL ES 的游戏引擎,比如 Cocos2d-x、 Unity3d 以及其它的游戏引擎。

获取录屏插件对象

local agent = AgentManager:getInstance()
local rec_plugin = agent:getRECPlugin()

设置监听

录屏系统存在回调信息,需要设置监听,实现监听方法。

rec_plugin:setResultListener(onRECResult)

开发者需要设置监听方法

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_Title = "RECSDK",
        Video_Desc = "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("isRecording") 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<std::string, std::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

【评论区】