Unity3d接入RecNow的錄屏幕SDK

PS:每一次制作好一個(gè)原生的插件理論上只對(duì)應(yīng)使用當(dāng)前classes.jar導(dǎo)出的Unity版本,如果不同版本的Unity使用同一個(gè)原生插件可能會(huì)出現(xiàn)奇怪的BUG,如果有BUG就再按照本文章思路重新做一次原生包

PS:請(qǐng)務(wù)必仔細(xì)閱讀,以免出錯(cuò).

1.先下載SDK包

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

2.從Unity導(dǎo)出一個(gè)Androidlibproject

步驟
(1).新建一個(gè)從空白Unity項(xiàng)目,選擇品臺(tái)為Android,在BuildSetting里面選擇GoogleAndroidProject的勾勾勾上,然后export.

(2).導(dǎo)出一個(gè)Androidlibproject(使用eclipse打開(kāi),然后再Properties-Android頁(yè)面選擇"IsLibrary",點(diǎn)擊Apply,再點(diǎn)擊OK)

具體步驟如下:

1)Androidlibproject的packagename必須和Unity的Bundledentifier一樣

2)拷貝RecNow.jar到project的libs目錄下;如果libs目錄下沒(méi)有unity-classes.jar,就從Unity的安裝目錄找到class.jar復(fù)制到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:修改如下

在權(quán)限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下添加愛(ài)拍的activity,調(diào)用愛(ài)拍

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

在meta-data下添加愛(ài)拍錄視頻的相關(guān)設(shè)置

<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:代表游戲在愛(ài)拍官方注冊(cè)的游戲id

2.aipai.apk-channel:游戲的不同渠道版本,渠道碼值由愛(ài)拍官方規(guī)定,請(qǐng)參考愛(ài)拍官方的規(guī)則(http://recnow.aipai.com/document#page=5);

aipaisdk.sns:指定分享平臺(tái),每個(gè)值代表那個(gè)分享平臺(tái)參考如下:

valuedeclaration
0x01新浪微博
0x02騰訊微博
0x04QQ空間
0x08微信好友
0x10微信朋友圈
0x20QQ好友

如果要指定多個(gè)分享平臺(tái),把他們的值相加即可,例如:
0x01+0x02+0x04+0x08+0x10+0x20=0x3F
0x3F代表可以分享到所有平臺(tái);

3.aipaisdk.game-activity:游戲的主Activity類名,因?yàn)镽ecNow需要監(jiān)聽(tīng)游戲主Activity的生命周期,以便正確的設(shè)置錄像狀態(tài),因此必須把游戲的主Activity類名作為參數(shù)傳入;例如SimpleGame的主Activity類名是com.aipai.simplegame.SimpleGameActivity。

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

//導(dǎo)入愛(ài)拍的庫(kù)
importcom.aipai.recnow.RecNow;

publicclassSimpleGameextendsCocos2dxActivity{
                                    ...
    @Override
    protectedvoidonCreate(BundlesavedInstanceState){
            super.onCreate(savedInstanceState);
        ...
        //在Override的onCreate方法里面初始化愛(ài)拍
        RecNow.initializeWithApplication(this.getApplication());
    }
}

5)編譯project;

6)在project目錄下執(zhí)行:jar-cvfMunity-plugins.jar-Cbin/classes/.或者eclipse導(dǎo)入unity-plugins.jar

7)拷貝unity-plugins.jar到Unity項(xiàng)目的Assets/Plugins/Android/libs目錄下;

8)拷貝project的AndroidManifest.xml到Unity項(xiàng)目的Assets/Plugins/Android目錄下;

9)拷貝RecNow/libs/RecNow.jar到Unity項(xiàng)目的Assets/Plugins/Android/libs目錄下;

10)拷貝RecNow/depends/lib/librecnow.so到Unity項(xiàng)目的Assets/Plugins/Android/libs/armeabi-v7a目錄下;

11)拷貝RecNow/asssets/recnow到Unity項(xiàng)目的Assets/Plugins/Android/assets目錄下;

12)編譯游戲。

13)導(dǎo)入RecNow.unitypackage即可。

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

Unity的API
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容