集成到自己的Android項(xiàng)目中,及提供API說(shuō)明_第1頁(yè)
集成到自己的Android項(xiàng)目中,及提供API說(shuō)明_第2頁(yè)
集成到自己的Android項(xiàng)目中,及提供API說(shuō)明_第3頁(yè)
集成到自己的Android項(xiàng)目中,及提供API說(shuō)明_第4頁(yè)
集成到自己的Android項(xiàng)目中,及提供API說(shuō)明_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Pisofttech 21/22Pisofttech圓周率全景相機(jī)Android SDK使用指南版本:V1.1.0.BasicPisofttech本文主要指導(dǎo)用戶如何將本公司的Android SDK集成到自己的Android項(xiàng)目中,及提供API說(shuō)明 目錄 TOC o 1-3 h z u HYPERLINK l _Toc496277572 一、名詞解釋 PAGEREF _Toc496277572 h 2 HYPERLINK l _Toc496277573 二、功能介紹 PAGEREF _Toc496277573 h 4 HYPERLINK l _Toc496277574 1.功能列表 PAGER

2、EF _Toc496277574 h 4 HYPERLINK l _Toc496277575 2.使用限制 PAGEREF _Toc496277575 h 4 HYPERLINK l _Toc496277576 三、Android studio如何導(dǎo)入SDK PAGEREF _Toc496277576 h 4 HYPERLINK l _Toc496277577 1.SDK文件結(jié)構(gòu) PAGEREF _Toc496277577 h 4 HYPERLINK l _Toc496277578 2.導(dǎo)入必要文件 PAGEREF _Toc496277578 h 5 HYPERLINK l _Toc49627

3、7579 3.工程配置 PAGEREF _Toc496277579 h 7 HYPERLINK l _Toc496277580 四、SDK初始化 PAGEREF _Toc496277580 h 9 HYPERLINK l _Toc496277581 五、基本功能 PAGEREF _Toc496277581 h 11 HYPERLINK l _Toc496277582 1.如何開始預(yù)覽 PAGEREF _Toc496277582 h 11 HYPERLINK l _Toc496277583 2.如何查看本地照片 PAGEREF _Toc496277583 h 11 HYPERLINK l _To

4、c496277584 3.如何播放視頻 PAGEREF _Toc496277584 h 12 HYPERLINK l _Toc496277585 六、API說(shuō)明 PAGEREF _Toc496277585 h 12 HYPERLINK l _Toc496277586 初始化 PAGEREF _Toc496277586 h 12 HYPERLINK l _Toc496277587 PiPanoSDK(Activity actvty, OnSDKIsReadyListener listener) PAGEREF _Toc496277587 h 12 HYPERLINK l _Toc49627758

5、8 View getPlayerView() PAGEREF _Toc496277588 h 12 HYPERLINK l _Toc496277589 實(shí)時(shí)預(yù)覽 PAGEREF _Toc496277589 h 13 HYPERLINK l _Toc496277590 void setPreviewIsReadyListener(OnPreviewIsReadyListener listener) PAGEREF _Toc496277590 h 13 HYPERLINK l _Toc496277591 int startPreview(String inputSrcType) PAGEREF _

6、Toc496277591 h 13 HYPERLINK l _Toc496277592 int stopPreview() PAGEREF _Toc496277592 h 13 HYPERLINK l _Toc496277593 void setPreviewTextureSize(int width, int height) PAGEREF _Toc496277593 h 14 HYPERLINK l _Toc496277594 SurfaceTexture getPreviewSurfaceTexture() PAGEREF _Toc496277594 h 14 HYPERLINK l _

7、Toc496277595 視頻文件播放 PAGEREF _Toc496277595 h 14 HYPERLINK l _Toc496277596 int openVideo(String url, String inputSrcType) PAGEREF _Toc496277596 h 14 HYPERLINK l _Toc496277597 void pause() PAGEREF _Toc496277597 h 15 HYPERLINK l _Toc496277598 void Resume() PAGEREF _Toc496277598 h 15 HYPERLINK l _Toc4962

8、77599 void stop() PAGEREF _Toc496277599 h 15 HYPERLINK l _Toc496277600 double getVideoProgress() PAGEREF _Toc496277600 h 15 HYPERLINK l _Toc496277601 void seek(double offset) PAGEREF _Toc496277601 h 15 HYPERLINK l _Toc496277602 查看本地照片 PAGEREF _Toc496277602 h 16 HYPERLINK l _Toc496277603 int openPhot

9、o(String path, String inputSrcType) PAGEREF _Toc496277603 h 16 HYPERLINK l _Toc496277604 顯示效果 PAGEREF _Toc496277604 h 16 HYPERLINK l _Toc496277605 int setViewMode(String showMode) PAGEREF _Toc496277605 h 16 HYPERLINK l _Toc496277606 void setImageFlipHorizontal(boolean flag) PAGEREF _Toc496277606 h 1

10、7 HYPERLINK l _Toc496277607 void setInputImageContentSize(int canvasWidth, int canvasHeight, int contentWidth, int contentHeight) PAGEREF _Toc496277607 h 17 HYPERLINK l _Toc496277608 其他 PAGEREF _Toc496277608 h 18 HYPERLINK l _Toc496277609 String getVersion() PAGEREF _Toc496277609 h 18 HYPERLINK l _T

11、oc496277610 void setScreenOrientation(int mode) PAGEREF _Toc496277610 h 18 HYPERLINK l _Toc496277611 String getCurrentInputSrcType() PAGEREF _Toc496277611 h 18 HYPERLINK l _Toc496277612 void setCamDirection(int type) PAGEREF _Toc496277612 h 19 HYPERLINK l _Toc496277613 七、附錄 PAGEREF _Toc496277613 h 1

12、9 HYPERLINK l _Toc496277614 類PiSourceModeType PAGEREF _Toc496277614 h 19 HYPERLINK l _Toc496277615 方法概要 PAGEREF _Toc496277615 h 19 HYPERLINK l _Toc496277616 類PiViewModeType PAGEREF _Toc496277616 h 20 HYPERLINK l _Toc496277617 方法概要 PAGEREF _Toc496277617 h 20 HYPERLINK l _Toc496277618 類PiTransitionEff

13、ectType PAGEREF _Toc496277618 h 20 HYPERLINK l _Toc496277619 方法概要 PAGEREF _Toc496277619 h 20 HYPERLINK l _Toc496277620 類PiCameraDirectionType PAGEREF _Toc496277620 h 20 HYPERLINK l _Toc496277621 八、常見(jiàn)問(wèn)題 PAGEREF _Toc496277621 h 21 HYPERLINK l _Toc496277622 預(yù)覽、瀏覽照片或播放視頻文件時(shí),看到的圖像是左右相反的 PAGEREF _Toc49627

14、7622 h 21 HYPERLINK l _Toc496277623 一個(gè)SDK實(shí)例可以和多個(gè)fragment的Layout綁定嗎? PAGEREF _Toc496277623 h 21 HYPERLINK l _Toc496277624 單魚眼的輸入源,在【沉浸】圖像顯示不正常怎么辦? PAGEREF _Toc496277624 h 21 HYPERLINK l _Toc496277625 單魚眼的輸入圖像畫布四邊不是和魚眼圖像相切的,怎么才能正常展開? PAGEREF _Toc496277625 h 21名詞解釋展開:按照特定的3D模型對(duì)輸入圖像進(jìn)行展示,而這些特定的3D模型稱為【展開模

15、式】。轉(zhuǎn)場(chǎng)動(dòng)畫:從一個(gè)展開模式切換到另一個(gè)展開模式時(shí)的動(dòng)態(tài)過(guò)度效果。輸入源:根據(jù)輸入圖像內(nèi)容進(jìn)行的分類。預(yù)覽:實(shí)時(shí)顯示輸入的圖像數(shù)據(jù)。鏡頭朝向:專指單魚眼鏡頭的擺放位置。功能介紹功能列表功能描述實(shí)時(shí)預(yù)覽以多種全景展開模式,觀看全景相機(jī)拍攝的實(shí)時(shí)圖像瀏覽圖片以多種全景展開模式,查看本地保存的全景照片播放全景視頻以多種全景展開模式,播放本SDK錄制的全景視頻文件使用限制軟件要求:只支持android 5.0及以上armeabi-v7a版本的android應(yīng)用開發(fā)。硬件要求: 要求CPU 四核2.7GHz ,運(yùn)行時(shí)內(nèi)存2GB同等及以上性能的手機(jī)。Android studio如何導(dǎo)入SDKSDK文件結(jié)

16、構(gòu)pi_camera_sdk.zip解壓后會(huì)得到libs、assets、jniLibs、demo、doc三個(gè)文件夾,如下圖:其中:libs、assets及jniLibs文件夾包含的是android工程集成SDK的必須文件;demo包含的是android studio調(diào)用SDK的實(shí)例工程;doc包含的是SDK的幫助文檔。導(dǎo)入必要文件將libs目錄下的所有文件復(fù)制到android studio工程的libs目錄中,如下圖:圖中文件僅供參考,實(shí)際文件會(huì)根據(jù)使用前版本有所差異。將assets文件夾復(fù)制到android studio工程的src/main目錄中,如下圖:將jniLibs目錄下的文件夾復(fù)制

17、到android studio工程的src/main/jniLibs目錄(如果沒(méi)有jiniLibs目錄,則新建一個(gè))中,如下圖:圖中文件僅供參考,實(shí)際文件會(huì)根據(jù)使用前版本有所差異。工程配置用戶須要根據(jù)實(shí)際需求,配置相應(yīng)的權(quán)限。以demo中的實(shí)例工程為例,拍照、錄像須要SD卡的讀寫及音頻采集權(quán)限,如下圖:在需要嵌入預(yù)覽或播放器的layout文中加入一個(gè)播放器的父控件,如LinearLayout,參考下圖:在Activity的onCreate()中加入LinearLayout layout = (LinearLayout)findViewById(R.id.videoview);layout.ad

18、dView(panoPlayerView);layout變量對(duì)應(yīng)上面layout中添加的控件,panoPlayerView變量由SDK的API中獲得,詳見(jiàn) HYPERLINK l _初始化 下文。重載Activity中以下函數(shù):Override protected void onDestroy () mPiPanoSDK.onDestroy(); super.onDestroy();/ Pause UnityOverride protected void onPause() super.onPause(); mPiPanoSDK.onPause();/ Resume UnityOverride

19、 protected void onResume() super.onResume(); mPiPanoSDK.onResume();/ This ensures the layout will be correct.Override public void onConfigurationChanged(Configuration newConfig) super.onConfigurationChanged(newConfig); mPiPanoSDK.onConfigurationChanged(newConfig);/ Notify Unity of the focus change.O

20、verride public void onWindowFocusChanged(boolean hasFocus) super.onWindowFocusChanged(hasFocus); mPiPanoSDK.onWindowFocusChanged(hasFocus);mPiPanoSDK變量由SDK的API中獲得,詳見(jiàn) HYPERLINK l _初始化 下文。SDK初始化先在要調(diào)用SDK的java文件中加入import com.pi.RenderTextureToEncoder.TextureListener;import com.pi.pipanosdk.ErrCode;impor

21、t com.pi.pipanosdk.PiPanoSDK;在Activity的onCreate()中加入創(chuàng)建SDK對(duì)象mLayout = (LinearLayout) findViewById(R.id.videoview);try mPiPanoSDK = new PiPanoSDK(this, this); catch (Exception e) e.printStackTrace();獲取SDK圖像渲染窗口View panoPlayerView = mPiPanoSDK.getPlayerView();if (null = panoPlayerView) Log.e(TAG, null

22、= panoPlayerView); return;實(shí)現(xiàn)接口PiPanoSDK.OnSDKIsReadyListener中的onSDKIsReady(),監(jiān)聽(tīng)SDK初始化完成public void onSDKIsReady() mSDKIsOK = true; Log.d(TAG, SDK is ok);如果輸入源為單魚眼,則需要根據(jù)相機(jī)實(shí)際的擺放情況,調(diào)用 HYPERLINK l _void_setCamDirection(int_type) setCamDirection()設(shè)置相機(jī)的方向注意:如果是使用Fragment加載SDK,則Fragment需要定義接口給加載自身的Activity

23、在onWindowFocusChanged()響應(yīng)時(shí),將消息傳遞給Fragment,實(shí)例代碼如下:Fragment中代碼:Overridepublic void onWindowFocusChanged(boolean hasFocus) mPiPanoSDK.onWindowFocusChanged(hasFocus);加載Fragment的Activity中代碼:Overridepublic void onWindowFocusChanged(boolean hasFocus) super.onWindowFocusChanged(hasFocus); if (mCurrentFragme

24、nt instanceof IOnFocusListenable) (IOnFocusListenable) mCurrentFragment).onWindowFocusChanged(hasFocus); 基本功能如何開始預(yù)覽使用 HYPERLINK l _void_setPreviewIsReadyListener(OnPr setPreviewIsReadyListener()設(shè)置監(jiān)聽(tīng)預(yù)覽是否準(zhǔn)備就緒;實(shí)現(xiàn)OnPreviewIsReadyListener()方法,處理預(yù)覽就緒后的業(yè)務(wù);調(diào)用 HYPERLINK l _void_setTextureSize(int_width, setP

25、reviewTextureSize()設(shè)置SDK 預(yù)覽的texture size;調(diào)用 HYPERLINK l _int_startPreview() startPreview()開始預(yù)覽;調(diào)用 HYPERLINK l _void_setShowMode(int_showMode) setViewMode()設(shè)置展開模式;OnPreviewIsReadyListener()響應(yīng)后,調(diào)用 HYPERLINK l _SurfaceTexture_getSurfaceTexture() getPreviewSurfaceTexture()獲取SDK的SurfaceTexture,然后將圖像渲染到此S

26、urfaceTexture,即可預(yù)覽到圖像;在預(yù)覽過(guò)程中可調(diào)用 HYPERLINK l _void_setShowMode(int_showMode) setViewMode()切換展開模式,詳見(jiàn) HYPERLINK l _void_setShowMode(int_showMode) API說(shuō)明;調(diào)用 HYPERLINK l _int_stopPreview() stopPreview()停止預(yù)覽。如何查看本地照片調(diào)用 HYPERLINK l _int_openPhoto(String_path) openPhoto()打開指定的本地照片,并顯示在之前關(guān)聯(lián)的控件中。在照片瀏覽時(shí),可以調(diào)用 HY

27、PERLINK l _void_setShowMode(int_showMode) setViewMode()切換展開模式。如何播放視頻播放錄像調(diào)用 HYPERLINK l _int_openVideo(String_url) openVideo()打開視頻文件,可以是本地文件也可以是網(wǎng)絡(luò)url。在播放過(guò)程中,可以調(diào)用setViewMode()切換展開模式。調(diào)用 HYPERLINK l _void_pause() pause()暫停播放。調(diào)用 HYPERLINK l _void_Resume() resume()繼續(xù)播放。調(diào)用 HYPERLINK l _double_getVideoProgr

28、ess() getVideoProgress()獲取當(dāng)前播放進(jìn)度百分比(1.0表示100%)。調(diào)用 HYPERLINK l _void_seek(double_offset) seek()快進(jìn)到指定的進(jìn)度百分比開始播放。調(diào)用 HYPERLINK l _void_stop() stop()停止視頻播放。API說(shuō)明初始化PiPanoSDK(Activity actvty, OnSDKIsReadyListener listener)PiPanoSDK的構(gòu)造函數(shù)Parameters actvty 使用SDK的actvty listener 監(jiān)聽(tīng)SDK初始化完成的回調(diào)Returns 無(wú)View get

29、PlayerView()獲取SDK用于圖像渲染的view,以便部署到android工程的UI中Returns 返回null表示失敗實(shí)時(shí)預(yù)覽void setPreviewIsReadyListener(OnPreviewIsReadyListener listener)給SDK綁定OnPreviewIsReadyListener,以便監(jiān)聽(tīng)預(yù)覽是否準(zhǔn)備就緒Parameters listener Returns 無(wú)int startPreview(String inputSrcType)開始顯示預(yù)覽圖像Parameters inputSrcType 輸入源類型 取值范圍:輸入源類型值單魚眼OneEy

30、e全景2:1Full21Returns 返回0表示成功就,返回負(fù)值表示失敗 int stopPreview()停止顯示預(yù)覽圖像Returns 返回0表示成功就,返回負(fù)值表示失敗void setPreviewTextureSize(int width, int height)設(shè)置預(yù)覽Texture的sizeReturns 無(wú)SurfaceTexture getPreviewSurfaceTexture()獲取用于渲染預(yù)覽圖像的SurfaceTexture,用戶可以對(duì)此SurfaceTexture進(jìn)行操作Returns 用于渲染預(yù)覽圖像的SurfaceTexture視頻文件播放int openVi

31、deo(String url, String inputSrcType)打開并播放視頻文件(支持本地和網(wǎng)絡(luò))Parameters url 本地視頻文件路徑或者網(wǎng)絡(luò)鏈接 inputSrcType 輸入源類型 取值范圍:輸入源類型值單魚眼OneEye全景2:1Full21Returns 返回0表示成功就,返回負(fù)值表示失敗void pause()暫停播放Returns 無(wú)void Resume()繼續(xù)播放Returns 無(wú)void stop()停止播放Returns 無(wú)double getVideoProgress()獲取視頻當(dāng)前播放進(jìn)度的百分比Returns 視頻當(dāng)前播放進(jìn)度的百分比(范圍:0.0

32、1.0)void seek(double offset)進(jìn)度跳轉(zhuǎn)Parameters offset 表示跳轉(zhuǎn)到視頻時(shí)長(zhǎng)的百分之幾的位置(范圍:0.01.0)Returns 無(wú)查看本地照片int openPhoto(String path, String inputSrcType)打開并顯示照片Parameters path 本地視頻文件路徑或者網(wǎng)絡(luò)鏈接 inputSrcType 輸入源類型 取值范圍:輸入源類型值單魚眼OneEye全景2:1Full21Returns 返回0表示成功就,返回負(fù)值表示失敗顯示效果int setViewMode(String showMode)設(shè)置展開模式,不同的輸

33、入源對(duì)應(yīng)的可用模式不同Parameters showMode 對(duì)應(yīng)各種全景展開模式的標(biāo)識(shí)值 取值范圍:展開模式值支持的輸入源黑屏EPM_NONEOneEye Full21沉浸EPM_SPHEREINOneEye Full21魚眼EPM_SPHEREOUTOneEye Full21小行星EPM_SPHEREASTEROIDFull21VREPM_VROneEye Full21Returns 無(wú)void setImageFlipHorizontal(boolean flag)將顯示的圖像進(jìn)行左右翻轉(zhuǎn),對(duì)“預(yù)覽”、“打開照片”、“播放文件”均生效Parameters flag true為翻轉(zhuǎn),false為不翻轉(zhuǎn)Returns 無(wú)void setInputImageContentSize(int canvasWidth, int canvasHeight, int contentWidth, int contentHeight)設(shè)置輸入圖像的畫布分辨率及顯示在畫布上的圖像內(nèi)容分辨率(單魚眼專用)Parameters canvasWidth 畫布寬 canvasHeight 畫布高 contentWidth 圖像寬 contentHeig

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論