1、PISOFTTECH圆周率全景相机 Android SDK使用指南版本:V1.1.2.BasicPisofttech本文主要指导用户如何将本公司的 Android SDK 集成到自己的 Android 项目中,及提供API 说明Pisofttech1 / 22目录一、 名词解释 .2二、 功能介绍 .41. 功能列表 .42. 使用限制 .4三、 Android studio 如何导入 SDK .41. SDK 文件结构 .42. 导入必要文件 .53. 工程配置 .7四、 SDK 初始化 .9五、 基本功能 .111. 如何开始预览 .112. 如何查看本地照片 .113. 如何播放视频 .
2、12六、 API 说明 .12初始化 .12PiPanoSDK(Activity actvty, OnSDKIsReadyListener listener) .12View getPlayerView().12实时预览 .13void setPreviewIsReadyListener(OnPreviewIsReadyListener listener) .13int startPreview(String inputSrcType) .13int stopPreview().13void setPreviewTextureSize(int width, int height).14Surf
3、aceTexture getPreviewSurfaceTexture().14视频文件播放 .14int openVideo(String url, String inputSrcType).14void pause().15void Resume() .15void stop() .15double getVideoProgress().15void seek(double offset).15查看本地照片 .16int openPhoto(String path, String inputSrcType) .16显示效果 .16int setViewMode(String showMod
4、e) .16void setImageFlipHorizontal(boolean flag).17void setInputImageContentSize(int canvasWidth, int canvasHeight, int contentWidth, int contentHeight) .17其他 .18String getVersion() .18void setScreenOrientation(int mode) .18String getCurrentInputSrcType() .18void setCamDirection(int type) .19Pisoftte
5、ch2 / 22七、 附录 .19类 PiSourceModeType.19方法概要 .19类 PiViewModeType.20方法概要 .20类 PiTransitionEffectType.20方法概要 .20类 PiCameraDirectionType .20八、 常见问题 .21预览、浏览照片或播放视频文件时,看到的图像是左右相反的 .21一个 SDK 实例可以和多个 fragment 的 Layout 绑定吗? .21单鱼眼的输入源,在 【 沉浸 】 图像显示不正常怎么办? .21单鱼眼的输入图像画布四边不是和鱼眼图像相切的,怎么才能正常展开? .21一、 名词解释展开:按照特定
6、的 3D 模型对输入图像进行展示,而这些特定的 3D 模型称为【展开模式】 。Pisofttech3 / 22转场动画:从一个展开模式切换到另一个展开模式时的动态过度效果。输入源:根据输入图像内容进行的分类。预览:实时显示输入的图像数据。镜头朝向:专指单鱼眼镜头的摆放位置。Pisofttech4 / 22二、 功能介绍1. 功能列表功能 描述实时预览 以多种全景展开模式,观看全景相机拍摄的实时图像浏览图片 以多种全景展开模式,查看本地保存的全景照片播放全景视频 以多种全景展开模式,播放本 SDK 录制的全景视频文件2. 使用限制软件要求:只支持 android 5.0 及以上 armeabi-
7、v7a 版本的 android 应用开发。硬件要求:要求 CPU 四核 2.7GHz ,运行时内存 2GB 同等及以上性能的手机。三、 Android studio 如何导入 SDK1. SDK 文件结构pi_camera_sdk.zip 解压后会得到 libs、assets 、jniLibs、demo 、doc 三个文件夹,如下图:其中:libs、assets 及 jniLibs文件夹包含的是 android工程集成 SDK的必须文件;demo包含的是 android studio调用 SDK的实例工程;doc包含的是 SDK的帮助文档。Pisofttech5 / 222. 导入必要文件1)
8、 将 libs 目录下的所有文件复制到 android studio 工程的 libs 目录中,如下图:图中文件仅供参考,实际文件会根据使用前版本有所差异。2) 将 assets 文件夹复制到 android studio 工程的 src/main 目录中,如下图:Pisofttech6 / 223) 将 jniLibs 目录下的文件夹 复制到 android studio 工程的 src/main/jniLibs 目录( 如果没有 jiniLibs 目录,则新建一个)中,如下图:Pisofttech7 / 22图中文件仅供参考,实际文件会根据使用前版本有所差异。3. 工程配置用户须要根据实际
9、需求,配置相应的权限。以 demo 中的实例工程为例,拍照、录像须要 SD 卡的读写及音频采集权限,如下图:Pisofttech8 / 22在需要嵌入预览或播放器的 layout 文中加入一个播放器的父控件,如 LinearLayout,参考下图:在 Activity的 onCreate()中加入LinearLayout layout = (LinearLayout)findViewById(R.id.videoview);layout.addView(panoPlayerView);layout变量对应上面 layout中添加的控件,panoPlayerView 变量由 SDK的API中获得
10、,详见下文。重载 Activity 中以下函数:Pisofttech9 / 22Override protected void onDestroy ()mPiPanoSDK.onDestroy();super.onDestroy();/ Pause UnityOverride protected void onPause()super.onPause();mPiPanoSDK.onPause();/ Resume UnityOverride protected void onResume()super.onResume();mPiPanoSDK.onResume();/ This ensure
11、s the layout will be correct.Override public void onConfigurationChanged(Configuration newConfig)super.onConfigurationChanged(newConfig);mPiPanoSDK.onConfigurationChanged(newConfig);/ Notify Unity of the focus change.Override public void onWindowFocusChanged(boolean hasFocus)super.onWindowFocusChanged(hasFocus);mPiPanoSDK.onWindowFocusChanged(hasFocus);mPiPanoSDK变量由 SDK的 API中获得,详见下文。四、 SDK 初始化1) 先在要调用 SDK的 java文件中加入