Vuforia AR ShareRECForAndroid 录屏 (六)


ShareREC官网: http://rec.mob.com/
Vuforia官网: https://developer.vuforia.com/
截止目前,Vuforia SDK版本为8.1.7,已内置与Unity引擎内。

  常常会有在应用内录屏的需求,试用了几个录屏SDK都不太理想,如EveryPlay和Vuforia共用时录制不到AR内声音,也不在维护,NatCorder录制时破音等。ShareREC支持应用内音频和麦克风录制,唯一不是那么尽善尽美的大概就是不能分层级录制,只能录制全屏画面,和必须联网。

1.注册ShareREC,导入SDK

  在官网注册好对应的账号,进入服务中心进行个人或企业认证。REC SDK官网上版本偏旧,可联系客服索取最新的版本和问题解答,服务好的不要不要的。了解到近期REC SDK会并入Share SDK中,之前接入的不受影响,可以放心的使用,这里仅以Andorid版本为例。
  将SDK导入Unity内,并在游戏对象上挂载ShareREC,设置完成对应的参数选项。填入官网上获取的App key和App Secret,其中MaxFrameSize表示录制出来的视频最大分辨率;VideoQuality表示视频质量,会根据视频分辨率自动调整视频码率;MinDuration是视频最短时长,单位为秒,RecordAudioFromMic表示从麦克风捕获声音输入;SoftwareAudioEncoder和SoftwareVideoEncoder表示强制使用软件音视频编码器对视频进行编码,勾选后兼容性更高;CacheFolder表示视频文件输出目录的路径。除了Appkey和AppSecret外的字段都是可选的。



  需要注意的坑分别有Player Settings内的Other Settings的Multithreaded Rendering一定不要勾选,否则调用相关的代码会返回不支持录屏功能和录屏失败。还有就是在勾选了Development Build的情况下,会有功能缺失,具体原因不得而知。


2.调用录屏代码,开始录屏

  主要调用StartRecorder和StopRecorder两个函数,并且在对应的回调函数内注册事件,完成业务逻辑。

using cn.sharerec;
using UnityEngine;
using UnityEngine.UI;

public class RECHandle : MonoBehaviour
{
    public Button satrtButton;
    public Button stopButton;
    // Start is called before the first frame update
    void Start()
    {
        satrtButton.interactable = ShareREC.IsAvailable();
        stopButton.interactable= ShareREC.IsAvailable(); 

        satrtButton.onClick.AddListener(()=> {
            ShareREC.StartRecorder();
        });

        stopButton.onClick.AddListener(()=> {
            ShareREC.StopRecorder();
        });

        ShareREC.OnRecorderStartedHandler += () => {
            satrtButton.gameObject.SetActive(false);
            stopButton.gameObject.SetActive(true);
        };

        ShareREC.OnRecorderStoppedHandler += () => {
            satrtButton.gameObject.SetActive(true);
            stopButton.gameObject.SetActive(false);
        };
    }
}

3.去除多余权限请求

在Unity内搜索Androidmanifest,用文本打开直接将下方权限列表内不需要的权限删除,在应用上架的时候,可能需要对敏感权限做出说明。



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容