美文网首页
Unity3d接入RecNow的录屏幕SDK

Unity3d接入RecNow的录屏幕SDK

作者: 小小酥XX | 来源:发表于2015-12-21 16:20 被阅读951次

    PS:每一次制作好一个原生的插件理论上只对应使用当前classes.jar导出的Unity版本,如果不同版本的Unity使用同一个原生插件可能会出现奇怪的BUG,如果有BUG就再按照本文章思路重新做一次原生包

    PS:请务必仔细阅读,以免出错.

    1.先下载SDK包

    下载地址
    http://recnow.aipai.com/sites/lieyou.com/files/sdk_file/recnow_android.zip

    2.从Unity导出一个Androidlibproject

    步骤
    (1).新建一个从空白Unity项目,选择品台为Android,在BuildSetting里面选择GoogleAndroidProject的勾勾勾上,然后export.

    (2).导出一个Androidlibproject(使用eclipse打开,然后再Properties-Android页面选择"IsLibrary",点击Apply,再点击OK)

    具体步骤如下:

    1)Androidlibproject的packagename必须和Unity的Bundledentifier一样

    2)拷贝RecNow.jar到project的libs目录下;如果libs目录下没有unity-classes.jar,就从Unity的安装目录找到class.jar复制到libs目录下

    PS:
    Mac下classes.jar的路径是
    /Applications/Unity/Unity.app/Contents/PlaybackEngines/AndroidPlayer/bin/classes.jar
    Windows下classes.jar的路径是
    Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar;

    3)修改AndroidManifest.xml:修改如下

    在权限uses-permission处添加如下条目

    <uses-permissionandroid:name="android.permission.INTERNET"/>
    <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permissionandroid:name="android.permission.RECORD_AUDIO"/>
    <uses-permissionandroid:name="android.permission.GET_TASKS"/>
    <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>
    

    在Activity下添加爱拍的activity,调用爱拍

    <activityandroid:name="net.appplus.sdk.ContainerActivity"android:configChanges="orientation|screenSize|keyboardHidden"></activity>
    

    在meta-data下添加爱拍录视频的相关设置

    <meta-dataandroid:name="aipai.gameid"android:value="我们的GameID"/>
    <meta-dataandroid:name="aipai.apk-channel"android:value="0x0"/>
    <meta-dataandroid:name="aipai.sns"android:value="0x3F"/>
    <meta-dataandroid:name="aipai.game-activity"android:value="com.aipai.simplegame.SimpleGameActivity"/>
    

    PS:
    1.aipaisdk.gameid:代表游戏在爱拍官方注册的游戏id

    2.aipai.apk-channel:游戏的不同渠道版本,渠道码值由爱拍官方规定,请参考爱拍官方的规则(http://recnow.aipai.com/document#page=5);

    aipaisdk.sns:指定分享平台,每个值代表那个分享平台参考如下:

    valuedeclaration
    0x01新浪微博
    0x02腾讯微博
    0x04QQ空间
    0x08微信好友
    0x10微信朋友圈
    0x20QQ好友
    

    如果要指定多个分享平台,把他们的值相加即可,例如:
    0x01+0x02+0x04+0x08+0x10+0x20=0x3F
    0x3F代表可以分享到所有平台;

    3.aipaisdk.game-activity:游戏的主Activity类名,因为RecNow需要监听游戏主Activity的生命周期,以便正确的设置录像状态,因此必须把游戏的主Activity类名作为参数传入;例如SimpleGame的主Activity类名是com.aipai.simplegame.SimpleGameActivity。

    4)修改launcherActivity的onCreate方法:修改如下

    //导入爱拍的库
    importcom.aipai.recnow.RecNow;
    
    publicclassSimpleGameextendsCocos2dxActivity{
                                        ...
        @Override
        protectedvoidonCreate(BundlesavedInstanceState){
                super.onCreate(savedInstanceState);
            ...
            //在Override的onCreate方法里面初始化爱拍
            RecNow.initializeWithApplication(this.getApplication());
        }
    }
    

    5)编译project;

    6)在project目录下执行:jar-cvfMunity-plugins.jar-Cbin/classes/.或者eclipse导入unity-plugins.jar

    7)拷贝unity-plugins.jar到Unity项目的Assets/Plugins/Android/libs目录下;

    8)拷贝project的AndroidManifest.xml到Unity项目的Assets/Plugins/Android目录下;

    9)拷贝RecNow/libs/RecNow.jar到Unity项目的Assets/Plugins/Android/libs目录下;

    10)拷贝RecNow/depends/lib/librecnow.so到Unity项目的Assets/Plugins/Android/libs/armeabi-v7a目录下;

    11)拷贝RecNow/asssets/recnow到Unity项目的Assets/Plugins/Android/assets目录下;

    12)编译游戏。

    13)导入RecNow.unitypackage即可。

    PS:unity3dAPI在aipai.RecNow类中
    使用方法如下表

    Unity的API

    相关文章

      网友评论

          本文标题:Unity3d接入RecNow的录屏幕SDK

          本文链接:https://www.haomeiwen.com/subject/mjmmhttx.html