anyRTC Web SDK 实现音视频呼叫功能

前言

大家好,今天小编带给大家一个基于 anyRTC Web SDK 实现音视频呼叫的功能(本项目采用vue开发)。

前提条件

在开始写代码之前还需要做一些准备工作,如果你之前没有使用过 anyRTC Web SDK 这里还需要花几分钟时间准备一下, 详见:开发前期准备

操作流程

下载并引入项目依赖
npm i ar-rtm-sdk -S
npm i ar-rtc-sdk -S
import ArRTM from 'ar-rtm-sdk';
import ArRTC from 'ar-rtc-sdk';
import config from '../config';
config.js
export default {
   
    appid: '', // anyRTC 控制台生成的 appid (详见前提条件)
    uid: 'web' + Math.floor(Math.random() * 10000000) // 随机生成本地uid
}
data 初始数据
data() {
   
    return {
   
        localInvitation: null, // 通过 ArRTMClient.createLocalInvitation 创建的实例
        ArRTMClient: null,     // 通过 ArRTM.createInstance 创建的RTM客户端实例
        ArRTCClient: null,     // 通过 ArRTC.createClient 创建的客户端对象
        audioTrack: null,      // 本地音频轨道
        videoTrack: null,      // 本地视频轨道   
        audioDevices: [],      // 本地音频设备列表
        videoDevices: []       // 本地视频设备列表
        remoteUid: ''          // 远端用户的 uid
    }
}
mounted
mounted() {
   
    this.getRemoteUid(); // 获取远程用户 uid
    this.getDevices();   // 获取音视频设备
    this.createTrack();  // 创建本地音视频轨道
},
methods
// 获取远端用户 uid (这一步可以用输入框代替)
getRemoteUid() {
   
    const remoteUid = this.$route.query.uid;
    if (remoteUid) {
   
        this.remoteUid = remoteUid;
        this.createClient();
    }
},

// 获取音视频设备
async getDevices() {
   
    const [ videoDevices, audioDevices ] = await Promise.all([
        ArRTC.getCameras(),
        ArRTC.getMicrophones(),
    ]);
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值