摄像机SDK集成

一、概述

本文主要介绍如何集成Aqara摄像机SDK

二、前提条件

  1. 确认完成准备工作
  2. 确认完成环境搭建

三、功能特性

3.1 主体功能

  1. 支持Aqara摄像机拉流播放
  2. 支持Aqara摄像机控制

3.2 SDK大小

依赖库 说明 大小
摄像机播放 播放、P2P 23.8MB
摄像机控制、设置 各种各样的设置项 21.6MB
其他第三方开源组件 SDK运行所必须的组件 23.9MB
合计 - 69.3MB

注意:69.3MB为集成SDK最大增量,即第三方App的依赖和SDK的第三方依赖毫无交集时。通常情况下,会小于该值。

3.3 注意事项

摄像机SDK需要宿主App支持Android 13(targetSdk>=33

四、集成

4.1 打开Android Studio项目

4.2 编辑app目录下build.gradle

dependencies {
    implementation 'com.lumi.external:core:2.1.9'
    //摄像机播放、拉流等功能
    implementation 'com.lumi.module:camera:2.6.4'
    //摄像机控制、设置项等功能
    implementation 'com.lumi.sdk:rmextra:1.0.0'
}

4.3 初始化

参见环境搭建-统一初始化

注意:现在要求第三方App传入渠道标识(sdkChannel),以便SDK根据标识对某些业务进行处理。详情请查看统一初始化有关的文档(环境搭建),否则某些功能会不正常.

4.4 RxJava统一错误处理

由于摄像机SDK中使用了大量的RxJava,需要在Application中处理相关的异常,否则在某些情况RxJava报错的情况下会导致应用崩溃

override fun onCreate() {
    super.onCreate()
    RxJavaPlugins.setErrorHandler {
        it.printStackTrace()
    }
}

4.5 人脸管理的必要配置

允许应用访问系统相册、摄像头数据,用于人脸上传

<application>
    ...
    <provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="${applicationId}.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/lm_rm_extra_file_paths" />
    </provider>
</application>

res/xml/lm_rm_extra_file_paths

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths>
        <cache-path path="" name="camera_photos"/>
        <external-path path="" name="camera_photos" />
        <files-path path="" name="camera_photos" />
        <root-path path="" name="camera_photos" />
    </paths>
</resources>

五、代码混淆

-keep class com.lumi.ed.** {*;}
-keep class tv.danmaku.ijk.media.player.** {*;}
-keep class com.p2p.pppp_api.** {*;}
Copyright © 2023 深圳绿米联创科技有限公司 all right reserved,powered by Gitbook文档修改时间: 2024-09-27 21:51:47

results matching ""

    No results matching ""