用ShareREC实现Unity手游屏幕录制

来源:互联网 发布:数据标准化 人民银行 编辑:程序博客网 时间:2024/05/16 00:48

前段时间听还在老东家的老领导说,当初比我还要新的新人被逼着一个人做完了一个工程量还挺大的项目,一个小女生天天熬夜也是挺不容易的。

我问那个项目做了啥,老领导大概说了说,我事后一想其中包含的屏幕录制功能我还真没接触过。

其实这个问题两个月前玩某个版本八分音符酱的时候我就说去看一看的,后来不知怎的就忘了。

现在补上。

我先是百度搜索了一下,知道了有个SDK叫做ShareREC。

然后按照国际惯例,注册,登录。

然后下载开发包。我用的是ShareREC for Unity(Android)。下载之后导入新建的Unity项目。

之后的流程可以在官方文档看到http://wiki.mob.com/sharerec-for-android-unity3d-%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90/

1.给MainCamera挂上ShareRec脚本,然后填入App Key和App Serect(这个是登陆后进入后台看),并做一些可选的配置

2.添加代码,测试的时候肯定是要做UI的,几个按钮就足够了

1、在启动视频录制前,需要先判断目标设备是否已被ShareREC支持:

ShareREC.IsAvailable();

此方法将返回一个bool结果,true则表示支持,否则为不支持。

3、启动、暂停、恢复和停止录制的方法分别为:

// 启动录制ShareREC.StartRecorder();// 暂停录制ShareREC.PauseRecorder();// 恢复录制ShareREC.ResumeRecorder();// 停止录制ShareREC.StopRecorder();
这里说一下,我最初是用Unity5.6.0f3来做的,ShareRec是1.5.4;然后发现
ShareREC.IsAvailable();

一直返回false,于是我降低了Unity的版本,5.5.2也是false,直到用到了5.4.1,发布到手机上终于可以录屏了,但是画面只有四分之一。

我百度后看到一条记录,说的很不确定但是确实解决了问题,他说,确保勾选SoftwareAudioEncoder和SoftwareVideoEncoder,表示强制使用软件音视频编码器对视频进行编码,勾选后兼容性更高;然后再playersetting中不勾选Auto Graphics API,并且将下面的选项只保留OpenGLES2.

刚百度了一圈没找到原文,但是应该没有记错···


2 0
原创粉丝点击