1. 概述
适配度高,无缝适配Android4.0及其以上系统手机;
兼容性好,同时支持cocos2dx, unity3D, 自主引擎;
录制流畅,边玩边录,视频同步生成,无需等待压缩;
极速上传,CDN分布广,同时利用多线程实现视频的极速上传;
分享快捷,用户把视频分享到QQ、微信等社交平台实现自传播;
集成简便,几行代码完成SDK集成,而且无需root权限;
2. 快速集成
这里介绍集成SDK的方法,有任何问题,请联系我们 sdk@wonxing.com,谢谢!
2.1 导入SDK工程
将PlayRec SDK工程libplayrec导入到您的开发环境,并将该工程添加为您的项目依赖。
如果您的工程中没有添加android-support-v4.jar的支持,则需要将android-support-v4.jar复制到您的工程的libs目录。
2.2 调用初始化函数
在您的游戏的Activity的onCreate函数中,且于super.onCreate之后调用MagicRec.init函数,如下所示:
package org.cocos2dx.samplegame;
import org.cocos2dx.lib.Cocos2dxActivity;
import com.wonxing.magicsdk.MagicRec;
import android.os.Bundle;
public class SampleGame extends Cocos2dxActivity{
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//游戏的AppKey和AppSecret请向我们申请,否则视频无法上传;
//本函数必须是libmagicsdk的第一个调用函数;
//在游戏的activity的onCreate函数中调用,且在super.onCreate()后调用
MagicRec.init(this, AppKey, AppSecret);
}
……
}
2.3 修改AndroidManifest.xml文件
在您项目的AndroidManifest.xml中添加如下权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
在您项目的AndroidManifest.xml中添加如下Activity声明:
<activity
android:name="com.wonxing.magicsdk.ui.MagicMainActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.wonxing.magicsdk.ui.FrameActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|screenSize" />
<activity
android:name="com.wonxing.magicsdk.ui.PersonalActivity"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|screenSize" />
<activity
android:name="com.wonxing.magicsdk.picture.clip.ClipPictureActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar" />
2.4 设置分享参数
//设置微信分享appID,如果不设置,将无法进行微信的分享
MagicRec.setShareWechatAppID(String appID)
// 设置QQ分享appID,如果不设置,将无法进行QQ和Qzone的分享
MagicRec.setShareQQAppID(String appID);
注:appID请您到微信或QQ开发者平台申请。
3. 高级用法
如果您希望在游戏逻辑内部进行视频录制(如录制一段游戏过关视频),请参考这里的高级用法。
3.1 操作浮窗控制
如果您不希望用户通过操作浮窗控制录制,可以关注此类函数,此类函数必须在MagicRec.init()之后调用。
¨ void MagicRec.showFloatingController()
显示操作浮窗,默认为显示
¨ void MagicRec.hideFloatingController()
隐藏操作浮窗
¨ boolean MagicRec.isFloatingControllerHidden()
操作浮窗是否是隐藏状态
3.2 录制控制
如果已使用“快速集成”中的浮窗按钮控制录制,并且决定由用户来控制录制,
可以不关注此类函数,此类函数必须在MagicRec.init()之后调用。
¨ boolean MagicRec.startRecording()
开始录制,成功返回true,失败返回false
¨ boolean MagicRec.stopRecording()
停止录制,成功返回true,失败返回false
¨ void MagicRec.pauseRecording()
暂停录制
¨ void MagicRec.resumeRecording()
恢复录制
¨ boolean MagicRec.isRecording()
是否处于录制状态
¨ boolean MagicRec.isRecordingPaused()
是否处于录制暂停状态
3.3 设置回调
如果您需要关注SDK的一些录制状态的变化,可以使用此类接口
3.3.1 MagicRec回调接口
public static interface MagicRecListener {
// 录制启动成功时回调
public void onMagicRecRecordingStarted();
// 录制停止成功时回调
public void onMagicRecRecordingStopped();
// 录制过程中由于发生错误而出现录制意外终止,并传入错误代码
public void onMagicRecRecordingStoppedWithError(int errCode);
// 录制暂停成功时回调
public void onMagicRecRecordingPaused();
// 录制恢复成功时回调
public void onMagicRecRecordingResumed();
// 录制进度回调,duration单位是秒
public void onMagicRecRecordingProgress(long duration);
}
3.3.2 设置MagicRec回调
public void MagicRec.addListener(MagicRecListener listener);