> >

ShareREC for OpenGL用于录制直接基于GLSurfaceView定制引擎的游戏,不能用于录制Cocos2d-x等第三方引擎的游戏

1、集成步骤

1、下载最新版本ShareREC for OpenGL的SDK,解压以后复制“ShareREC”目录下的文件到您的项目根目录下覆盖。

2、修改“AndroidManifest.xml”文件,在其中添加ShareREC的权限和activity:

<!-- 添加必要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

<application>
    <!-- 其它的activity -->

    <!-- ShareRec的activity -->
    <activity
            android:name="com.mob.tools.MobUIShell"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:windowSoftInputMode="stateHidden|adjustResize" />
</application>

2、添加代码

1、找到您项目中GLSurfaceView的子类,将其父类修改为SrecGLSurfaceView,并重写其getShareRecAppkey和getShareRecAppSecret方法,返回ShareREC的Appkey和AppSecret:

public class <原GLSurfaceView的子类> extends SrecGLSurfaceView {
    // 返回ShareREC的Appkey
    protected String getShareRecAppkey() {
        return "<您的AppKey>";
    }

    // 返回ShareREC的AppSecret
    protected String getShareRecAppSecret() {
        return "<您的AppSecret>";
    }
}

2、通过SrecGLSurfaceView的getRecorder()方法获取GLRecorder实例:

GLRecorder recorder = <srecglsurfaceview实例>.getRecorder();

此后的操作就交由GLRecorder来完成了。

3、添加一些初始化的配置,如:

// 设置视频的最大尺寸
setMaxFrameSize(LevelMaxFrameSize.LEVEL_1280_720);
// 设置视频的质量(高、中、低)
setVideoQuality(LevelVideoQuality.LEVEL_HIGH);
// 设置视频的最短时长
setMinDuration(10 * 1000);
// 设置视频的输出路径
setCacheFolder("/sdcard/ShareREC/cvr");
// 设置是否强制使用软件编码器对视频进行编码(兼容性更高)
setForceSoftwareEncoding(true, true);

这些配置是可选的。

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

isAvailable();

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

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

// 启动录制
startRecorder();

// 暂停录制
pauseRecorder();

// 恢复录制
resumeRecorder();

// 停止录制
stopRecorder();

3、其它配置

1、录制结束后,您可以调用下面的方法上传和分享您的视频:

showShare();

2、在分享前您还可以使用下面的方法为您的视频设置简短描述:

// 设置描述
setText("视频描述");

// 根据自定义字段添加描述
addCustomAttr("字段名称", "字段数值");

setText的优先级高于addCustomAttr,因此一旦两者都调用,后者将不起作用。

3、除了进入分享页面,您还可以在非录制期间进入个人资料页面和应用视频列表页面:

// 进入个人资料页面
showProfile();

// 进入应用视频列表页面
showVideoCenter();

4、注意事项

1、ShareRec的分享功能基于ShareSDK,如果您需要自定义分享功能,可以参考ShareSDK的相关文档进行定制

2、ShareRec的短信验证功能基于SMSSDK,如果您需要自定义此模块,可以参考SMSSDK的相关文档

3、ShareRec只能在Android 4.0.4(或Level 14)以上的系统运行,SrecGLSurfaceView只支持Open GL ES 2.0以上的API

4、ShareRec需要联网