运行Android Demo

本文通过在Android实体设备中演示通信场景,介绍运行Android Demo的方法。

前提条件

已开通音视频通信增值服务,具体操作,请参见开通服务

环境准备

  • 为了演示实际通信场景,需要准备两台Android系统的实体设备作为主叫方(Host)和被呼叫方(Guest)。

  • 实体设备为Android 4.4或以上版本。

  • 安装Android Studio。更多信息,请参见Android Studio

  • 如果您是Windows环境,还需安装Git。更多信息,请参见Git

操作步骤

  1. 在阿里云物联网平台创建产品。具体操作请参见创建产品

  2. 在阿里云物联网平台创建两台设备作为主叫方和被呼叫方。DeviceName示例:Android_Host、Android_Guest,具体操作请参见创建设备

    说明

    请在物联网平台获取以下参数,后续编译Demo文件需要使用。

    • 设备证书:设备创建成功后,将生成设备证书。设备证书包含ProductKey、DeviceName和DeviceSecret。

    • 设备接入域名:在实例详情页面,单击查看开发配置,获取设备接入域名。

  3. 下载Demo运行相关的patch文件至本地并解压,下载地址,请参见Patch下载
  4. 下载Demo框架源码文件至本地并解压。
    git clone https://github.com/aliyun/AliRTCSample.git
  5. 执行如下步骤编译Host demo,生成apk文件安装在主叫方Android_Host手机中。

    1. 执行如下命令切换目录。

      cd AliRTCSample/
    2. 执行如下命令切换分支。

      git checkout 0cd8b94361966abcf8fae0decd46e53c5a0707bc -b host;
    3. 打上host相关patch。

      patch -p1 < ${patch路径}/host.patch
    4. 在AliRtcChatActivity.java文件中,填入获取的设备证书和设备接入域名。

      说明

      您可以搜索AliRtcChatActivity.java文件,或者在如下目录中进行查找:

      AliRTCSample\Android\RtcSample\app\src\main\java\com\aliyun\rtcdemo\activity

      //IoT实例的接入点. TODO: 填入设备的接入域名
          String mqttServerUrl = "{YourInstanceId}.iot-as-mqtt.unify.aliyuncs.com:443";
      
          //todo 填入被呼叫方Android_Guest的设备证书
          String guestPk = "{YourGuestProductKey}";
          String guestDn = "{YourGuestDeviceName}";
      
          //todo 填入主叫方Android_Host的设备证书
          String hostPk = "{YourHostProductKey}";
          String hostDn = "{YourHostDeviceName}";
          String hostDs = "{YourHostDeviceSecret}";
    5. 保存代码。

      git add . ; 
      git commit -a -m "xxxx"
    6. 进行编译,完成后生成apk文件,将该文件安装在主叫方Android_Host手机中。

  6. 执行如下步骤编译Guest demo,生成apk文件安装在被呼叫方Android_Guest手机中。

    1. 执行如下命令切换目录。

      cd AliRTCSample/
    2. 执行如下命令切换分支。

      git checkout 0cd8b94361966abcf8fae0decd46e53c5a0707bc -b guest;
    3. 将Demo框架源码文件打上被呼叫方Guest标签。

      patch -p1 < ${patch路径}/guest.patch
    4. 在AliRtcChatActivity.java文件中,填入获取的设备证书和设备接入域名。

      //IoT实例的接入点. TODO: 填入设备的接入域名
          String mqttServerUrl = "{YourInstanceId}.iot-as-mqtt.unify.aliyuncs.com:443";
      
          //todo 填入被呼叫方Android_Guest的设备证书
          String guestPk = "{YourGuestProductKey}";
          String guestDn = "{YourGuestDeviceName}";
          String guestDs = "{YourGuestDeviceSecret}";
    5. 保存代码。

      git add . ; 
      git commit -a -m "xxxx"
    6. 进行编译,完成后生成apk文件,将该文件安装在Android_Guest手机中。

  7. 运行Demo。

    1. 打开安装在被呼叫方手机中的apk文件。出现如下画面:被呼叫方

      参数

      说明

      停播视

      停止播放对方的视频画面。

      停播音

      停止播放对方的音频。

      播视频

      播放对方的视频画面。

      播音频

      播放对方的音频。

      停推视

      停止推送自己的视频画面。

      停推音

      停止推送自己的音频。

      推视频

      推送自己的视频画面。

      推音频

      推送自己的音频。

      离开会议

      主动离开当前通话。

      重新加入会议

      重新加入通话。

      说明

      需要先打开被呼叫方手机中的apk文件初始化通信画面,否则主叫方发起通话时被呼叫方无法加入,将导致通话失败。

    2. 打开主叫方host安装的apk文件,出现如下画面,单击拉新会,开始通话。主叫方

      参数

      描述

      拉新会

      邀请被呼叫方进行通话,默认为音视频通话。

      取消会议

      结束当前通话。

      踢对端

      将对方移出当前通话,仅主叫方可以进行该操作。

      说明

      如果两个设备靠得过近,容易产生回声和共振噪音,可以在两部手机中单击停播音来消除噪音。

阿里云首页 阿里云物联网平台 相关技术圈