> >

ShareREC for libGDX用于录制libGDX引擎上的游戏

1、集成步骤

1、下载最新版本ShareREC for libGDX的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、找到您项目中ApplicationAdapter的子类,将其父类修改为SrecApplicationAdapter,并实现其构造方法,设置ShareREC的Appkey和AppSecret:

public class <原ApplicationAdapter的子类> extends SrecApplicationAdapter{
    // 实现构造方法,设置ShareREC的Appkey和AppSecret
    public MyGdxGame(Context context) {
        super(context, "<您的AppKey>", "<您的AppSecret>");
    }
}

2、通过SrecApplicationAdapter的getRecorder()方法获取LibGDXRecorder实例:

LibGDXRecorder recorder = <SrecApplicationAdapter实例>.getRecorder();

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

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

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

这些配置是可选的。

4、由于ApplicationAdapter的render方法已经被占用且不能重载,所以请将游戏逻辑转移到onRender下。

protected void onRender() {
    // 将您的游戏逻辑迁移到这里
}

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

isAvailable();

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

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

// 启动录制
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需要联网