当前位置:首页 > React

react如何使用agora

2026-02-12 06:00:26React

在 React 中使用 Agora 实现实时音视频通信

安装 Agora SDK
通过 npm 或 yarn 安装 Agora Web SDK:

npm install agora-rtc-sdk
# 或
yarn add agora-rtc-sdk

初始化 Agora 客户端
在 React 组件中导入 SDK 并创建客户端实例:

import AgoraRTC from 'agora-rtc-sdk';

const client = AgoraRTC.createClient({ mode: 'rtc', codec: 'vp8' });

加入频道并处理音视频流

配置 App ID 和 Token
从 Agora 控制台获取 App ID 和临时 Token(测试时可使用无 Token 模式):

const appId = 'YOUR_APP_ID';
const channel = 'YOUR_CHANNEL_NAME';
const token = 'YOUR_TOKEN'; // 可为 null

实现加入频道逻辑
调用 client.join() 并处理本地/远程流:

client.join(appId, channel, token, uid, () => {
  // 创建本地音视频流
  const localStream = AgoraRTC.createStream({ audio: true, video: true });

  localStream.init(() => {
    // 播放本地流
    localStream.play('local-video-container');
    // 发布流
    client.publish(localStream);
  });
});

// 监听远程流
client.on('stream-added', (evt) => {
  client.subscribe(evt.stream, 'remote-video-container');
});

处理组件生命周期

使用 useEffect 管理资源
在 React 函数组件中,需在卸载时清理资源:

useEffect(() => {
  return () => {
    client.leave(() => {
      localStream.close();
    });
  };
}, []);

实现基础功能控件

添加静音/取消视频按钮
通过操作流对象实现控制:

const muteAudio = () => {
  localStream.muteAudio();
};
const enableVideo = () => {
  localStream.unmuteVideo();
};

错误处理与日志

监听 SDK 事件
添加错误处理和调试日志:

client.on('error', (err) => {
  console.error('Agora client error:', err);
});

完整组件示例

import React, { useEffect } from 'react';
import AgoraRTC from 'agora-rtc-sdk';

function AgoraVideoCall() {
  let localStream;

  useEffect(() => {
    const client = AgoraRTC.createClient({ mode: 'rtc', codec: 'vp8' });

    client.join('APP_ID', 'CHANNEL', null, (uid) => {
      localStream = AgoraRTC.createStream({ audio: true, video: true });
      localStream.init(() => {
        localStream.play('local-video');
        client.publish(localStream);
      });
    });

    return () => {
      client.leave();
      if (localStream) localStream.close();
    };
  }, []);

  return (
    <div>
      <div id="local-video" style={{ width: 300, height: 200 }}></div>
    </div>
  );
}

注意事项:

  • 生产环境必须使用 Token 鉴权机制
  • 需处理浏览器权限请求(麦克风/摄像头)
  • 移动端需注意 Safari 等浏览器的自动播放策略
  • 最新版本建议使用 Agora Web SDK NG(4.x+)

react如何使用agora

分享给朋友:

相关文章

电脑如何安装react

电脑如何安装react

安装 Node.js 和 npm React 依赖于 Node.js 和 npm(Node Package Manager)。从 Node.js 官网下载并安装最新稳定版本,安装完成后会自动包含 np…

react如何更新

react如何更新

更新 React 版本的方法 检查当前 React 版本 运行以下命令查看项目中安装的 React 版本: npm list react 更新 React 及相关依赖 通过 npm 或 yar…

如何改造react

如何改造react

改造 React 项目的关键方法 分析当前项目结构 通过评估现有组件、状态管理和依赖项,明确需要改进的部分。使用工具如 webpack-bundle-analyzer 识别性能瓶颈。 升级 Reac…

react如何衰减

react如何衰减

React 中的动画衰减效果实现 在 React 中实现衰减效果(如滚动衰减、拖动释放后的惯性滑动)通常需要结合物理动画原理或第三方动画库。以下是几种常见方法: 使用 CSS 动画和 @keyf…

react如何部署

react如何部署

部署 React 应用的常见方法 使用静态服务器部署 React 应用在构建后会生成静态文件,可以直接通过静态服务器部署。常用的静态服务器包括 Nginx、Apache 等。 运行构建命令生成静态…

react如何验证

react如何验证

表单验证方法 在React中验证表单数据通常使用以下几种方式: 内置HTML5验证 利用HTML5原生表单验证属性如required、pattern等,结合form.noValidate属性禁用浏…