Android端接入

AUI Kits语聊房场景集成工具是阿里云提供的跨平台音视频实时通信服务,为业务方提供语音聊天、多人实时互动等场景的能力,借助通信的稳定、流畅、灵活的产品能力,以低代码的方式助力业务方快速发布应用。本文为您介绍Android端接入语聊房的操作指引。

源码说明

源码下载

下载地址请参见GitHub开源项目

目录结构

├── Android
│   ├── AUIBaseKits           //AUI基础组件
│   ├── AUIVoiceRoom          //UI组件
│   ├── AUIVoiceRoomEngine    //场景化接口
│   ├── README.md
│   ├── app                   //Demo入口
│   ├── build.gradle
│   └── settings.gradle

环境要求

  • Android Studio插件版本4.1.3

  • Gradle 7.0.2

  • Android Studio自带JDK11

前提条件

  • 已完成前置准备相关操作。详情请参见控制台配置

  • 已经在您的服务端上开发了相关接口或直接部署提供的Server源码,搭建步骤请参见服务端配置与运行

跑通Demo

本章节介绍如何编译运行Demo。

  1. 下载并解压Demo文件,下载地址请参见MediaBox-AUIKits

  2. 配置工程文件:使用Android Studio,选择File > Open,选择上一步下载的Demo工程文件。image.png

  3. 进入文件VoiceRoomServerConstant.java,修改服务端域名和实时音视频应用的appID。

    public class VoiceRoomServerConstant {
        public static final String APP_ID = "xxx";
        public static final String HOST = "xxx";
        }
  4. 真机测试

    1. 链接Android真机,连接成功后显示如下图。image.png

    2. 单击下图绿色运行按钮,构建工程文件。image.png

    3. 安装到Android真机上,运行互动直播应用。

快速开发自己的语聊房功能

可通过如下步骤快速集成AUIVoiceRoom到您的App中,让您的App具备语聊房功能。

集成源码

  1. 导入AUIVoiceRoom与AUIVoiceRoomEngine。

    仓库代码下载后,Android Studio菜单选择:File > New > Import Module,导入选择文件夹。

  2. 修改文件夹下的build.gradle的三方库依赖项。

    dependencies {
    
        implementation 'androidx.appcompat:appcompat:x.x.x'                     //修改x.x.x为你工程适配的版本
        implementation 'com.google.android.material:material:x.x.x'             //修改x.x.x为你工程适配的版本
        androidTestImplementation 'androidx.test.espresso:espresso-core:x.x.x'  //修改x.x.x为你工程适配的版本
        implementation 'com.aliyun.aio:AliVCSDK_Standard:x.x.x'                  //修改x.x.x为你工程适配的版本
    }
  3. 等待gradle同步完成,完成源码集成。

源码配置

  1. 完成前提条件后,进入文件VoiceRoomServerConstant.java,修改服务端域名。

    //  VoiceRoomServerConstant.java
    public static final String HOST = "你的应用服务器域名";
  2. 完成前提条件后,进入文件VoiceRoomServerConstant.java,修改实时音视频应用ID。

//  VoiceRoomServerConstant.java
public static final String APP_ID = "你的实时音视频应用appID";

调用API

上述步骤完成后,您可以根据自身的业务场景和交互,在您App的其他模块或主页上通过组件接口快速实现语聊房功能,也可以根据自身的需求修改源码。

// 设置个人信息并初始化
String roomId = "xxx";
AUIVoiceRoom auiVoiceRoom = ChatRoomManager.getInstance().createVoiceRoom(roomId);
UserInfo userInfo = new UserInfo("xxx", "xxx");
userInfo.userName = currentUser.getName();
userInfo.avatarUrl = currentUser.getAvatar();

auiVoiceRoom.init(ChatEntryActivity.this.getApplicationContext(), ClientMode.VOICE_ROOM, VoiceRoomServerConstant.APP_ID, userInfo, ChatEntryActivity.this.im_token, new ActionCallback() {
    @Override
    public void onResult(int code, String msg, Map<String, Object> params) {
        if(code == ChatRoomManager.CODE_SUCCESS) {
            Log.v(TAG, "init room success");
        } else {
            Log.v(TAG, "init room fail:code:" + code + ",msg:" + msg );
        }
    }
});


// 加入房间
RoomInfo roomInfo = new RoomInfo("xxx");
RtcInfo rtcInfo = new RtcInfo("xxx", "xxx");
auiVoiceRoom.joinRoom(roomInfo, rtcInfo, new ActionCallback() {
    @Override
    public void onResult(int code, String msg, Map<String, Object> params) {
        Log.v(TAG, "join room:" + code + ",msg:" + msg + ",roomId:" + roomInfo.roomId);
    }
});

运行结果

参考Demo体验

常见问题

更多AUIKits问题咨询及使用说明,请搜索钉钉群(35685013712)加入AUI客户支持群联系我们。