海康威视摄像头Android直播APP开发

1、环境准备

1.1系统环境:Windows10 64位

                                                图1.1 Windows系统信息图

1.2软件:Android Studio 3.2.1

                                               图1.2 AndroidStudio版本信息图

1.3 Android SDK:

                                                       图1.3 Android SDK版本信息图

1.4萤石云SDK:

                                                                            图1.4 萤石云SDK版本信息图

2 配置工程

        本小结将介绍在AndroidStuido中配置开发工程,在进行这一步之前,将默认开发者已经下载好了萤石云的SDK、安装好了Android Stuido软件以及该软件的SDK也已经配置好。在调试的过程中本Demo是利用真机进行调试开发的,若想达到和该Demo一样的效果,请尽量保持和本开发案例一样的配置环境。若开发者想用Eclipse进开发可以看官方的视频,或者下载我们录制的配置视频,其视频内容为官方视频的截屏,想看原版请访问官方网。

       文档的开发介绍中,已默认开发者已有一定的开发经验,知道一些基本的操作,所有后面的截图会因为篇幅的原因给出关键的配置页面,若后面部分看起来非常吃力,请先学习一些基本的Android开发知识再继续查阅本文。

       下面给出个部分下载和视频连接,感兴趣的可以直接通过连接下载本工程的源码以及SDK,当然同样建议大家去官网下载最新版,对于最新版在函数调用和配置上可能会有些区别,请认真查阅资料对照版本号进行开发。

视频链接:https://download.csdn.net/download/shamozhihuong/11174449

SDK下载链接:https://download.csdn.net/download/shamozhihuong/11174475

Android Studio官网下载链接:https://developer.android.google.cn/

Demo下载链接:https://download.csdn.net/download/shamozhihuong/11174461

萤石云官网链接:https://open.ys7.com/

注:本文作者可能在开发和撰写上存在着错误或者考虑不周的地方请各位读者海涵,若可以的话可以给作者(QQ:1965257078)留言。

2.1新建工程

                                                 图2.1 选择最小的SDK版本信息图

                                            图2.2 选择添加一个空的Activity信息图

2.2 添加萤石云SDK、OS文件

本步可以,将SDK中的文件直接复制粘贴到工程的libs文件夹中,如图2.3中,a,b,c所示。

                                                               (a)

                                                                                                   (b)

                                                               (c)

                                     图2.3 SDK、OS文件添加示意图

2.3 配置AndroidManifest.xml

       在AndroidManifest.xml中需要配置权限,以及添加server和Activity等,这一步强烈推荐看视频,视频中讲得非常的详细。

2.3.1添加权限:

<uses-permission android:name="android.permission.INTERNET" />
<
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<
uses-permission android:name="android.permission.RECORD_AUDIO" />
<
uses-permission android:name="android.permission.READ_PHONE_STATE" />
<
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<
uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<
uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<
uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

2.3.2添加activity:

(此activity是调用SDK中的EzvizWebViewActivity进行萤石云的登录。)

<activity

    android:name="com.videogo.main.EzvizWebViewActivity"

    android:configChanges="orientation|keyboardHidden"

    android:screenOrientation="portrait" />

2.3.3 添加广播服务:

(此EzvizBroadcastReceiver是作者新建的,会在2.4节中介绍)
<receiver

    android:name=".EzvizBroadcastReceiver"

    android:exported="false">

    <intent-filter>

        <action android:name="com.vedeogo.action.OAUTH_SUCCESS_ACTION" />

        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />

    </intent-filter>

</receiver>

2.3.4 其他修改:

     在AndroidManifest.xml文件中还将默认的标本栏设置成无:

android:theme="@style/Theme.AppCompat.Light.NoActionBar">

     添加了一个Application,这个Application在后面会讲到。

android:name=".EzvizApplication"

2.4 配置build.gradle(Module.app)

2.4.1 defaultConfig中添加:

ndk {    abiFilters "armeabi-v7a"//只支持v7a}

2.4.2 android中添加:

sourceSets {    main {        jniLibs.srcDirs = ['libs']    }

   添加完后点击同步(File—>Sync project with Gradle Files)这时工程就配置好了,可以进行下一步开发。

3、应用开发

3.1 页面设计

界面设计中主要为了实现功能为目的,所有Demo的界面尽量的设计简单,界面中包括了两个按键、一个SurfaceView,SurfaceView是用显示视频的。

                                                        图3.1 Demo界面

3.2 创建EzvizBroadcastReceiver

@Override

public void onReceive(Context context, Intent intent) {

    if(TextUtils.equals(intent.getAction(),"com.vedeogo.action.OAUTH_SUCCESS_ACTION"))

    {

        accessToken = EZOpenSDK.getInstance().getEZAccessToken();

        this.Login0K = true;

    }

}

3.3 配置EzvizApplication

EzvizApplication文档可以直接从萤石云SDK的demo中拷贝过来,在这里需要配置AppKey,这个APPKey是通过萤石云官网申请的。

                                                          图3.2 萤石云Secret截图

   登录萤石开放平台—>我的应用,在中创建应用,由于该Demo是Android开放,所有要选择移动应用,同时在应用包名中要填入包名,如图:

                                               图3.3 Demo Package配置示意图

3.4 编写MainActivity

由于此次代码众多,不全部粘出来了,感兴趣的读者可以下载源码细度,下面介绍主要的几个地方。
配置设备的序列号,这个序列号可以同样可以再萤石云开发平台上获得。

                                          图3.4 萤石云设备序列号与通信号截图

在获得了序列号后,将序列号修改到MainActivity中的相应位置,如下图所示:

                                                                    图3.5 Demo的Mainactivity中代码修改截图

3.5 配置AndroidManifest.xml

                                          图3.6 Mainactivity添加Application截图

若代码在安装到手机闪退,很有可能是上面这个application没有添加。

4、效果显示

将代码安
装手机后,在一开始运行将会弹出萤石云的登录界面,这个登录界面只会在第一次调试的时候会弹出,这个主要是给用户的手机

                                                        图4.1 初次调试登录界面图

                                                              图4.2 登录异常界面图

如果报以上错误异常,定然是萤石开放平台中的应用包名和Android APP中的应用包名不一致。

                                                           图4.3 视频监控效果图

点击开始就能看到如上界面,到此整个基于萤石SDK、海康威视摄像头在Android Studio中的实时监控Demo已经全部介绍完了,中间若有什么撰写错误或者介绍不对的地方请与作者联系(QQ:1965257078),作者将会一一改正。

5、Demo下载链接

5.1 视频链接:https://download.csdn.net/download/shamozhihuong/11174449
5.2 SDK下载链接:https://download.csdn.net/download/shamozhihuong/11174475
5.3 Android Studio官网下载链接:https://developer.android.google.cn/
5.4 Demo下载链接:https://download.csdn.net/download/shamozhihuong/11174461
5.5 萤石云官网链接:https://open.ys7.com/
5.6 开发联系QQ:1965257078
5.6 淘宝开发合作链接:https://shop157002201.taobao.com/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章