组件

  • React

更新时间不可用

AgoraRTCProvider

该组件向子组件提供 Context,让 children 内的各个组件都能读取你传入的 client 属性。

Props

属性名类型默认值描述
clientIAgoraRTCClient无通过 Web SDK 的 IAgoraRTC.createClient 创建。
childrenReactNode无需要展示的 React 节点。
表格内容超出当前宽度,可横向滚动查看更多列。

使用示例

JSX
import AgoraRTC, { AgoraRTCProvider } from "agora-rtc-react"

function App({ children }) {
  const [client] = useState(() => AgoraRTC.createClient({ mode: "rtc", codec: "vp8" }));
  return <AgoraRTCProvider client={client}>{children}</AgoraRTCProvider>;
}

AgoraRTCScreenShareProvider

该组件向子组件提供 Context,让 children 内的各个组件都能读取你传入的用于屏幕共享的 client 属性。

Props

属性名类型默认值描述
clientIAgoraRTCClient无通过 Web SDK 的 IAgoraRTC.createClient 创建。
childrenReactNode无需要展示的 React 节点。
表格内容超出当前宽度,可横向滚动查看更多列。

注意事项

你可以同时使用 AgoraRTCScreenShareProvider 和 AgoraRTCProvider ,但二者不会共享 client 属性。

使用示例

JSX
import AgoraRTC, { AgoraRTCScreenShareProvider } from "agora-rtc-react";

function App({ children }) {
  const [client] = useState(() => AgoraRTC.createClient({ mode: "rtc", codec: "vp8" }));
  return <AgoraRTCScreenShareProvider client={client}>{children}</AgoraRTCScreenShareProvider>;
}

LocalAudioTrack

该组件用于播放本地音频轨道,播放设备为用户在浏览器中选择的设备。

如果你需要自行设置麦克风设备,可使用 Web SDK 的 IMicrophoneAudioTrack.setDevice 方法。

Props

属性名类型默认值描述
trackILocalAudioTrack无要播放的本地音频轨道。通过 useLocalMicrophoneTrack 创建。
playbooleanfalse
  • true:播放该轨道。
  • false:停止播放该轨道。
volumenumber无音量大小。取值范围 [0, 1000],0 代表静音,100 代表原始音量。100 以上会使用 Web Audio API 进行音量增益。
disabledbooleanfalse
  • true:禁用该轨道。禁用后,SDK 将停止播放和发布该轨道。
  • false:启用该轨道。
mutedbooleanfalse
  • true:暂停发送该轨道的媒体数据。
  • false:恢复发送该轨道的媒体数据。
childrenReactNode无需要展示的 React 节点。
表格内容超出当前宽度,可横向滚动查看更多列。

注意事项

设置 disabled 和 muted 属性时其实是调用了 Web SDK 的 setEnabled 方法和 setMuted 方法,因此:

  • 与设置 disabled 属性相比,设置 muted 属性的响应速度更快且不影响音频采集状态。
  • 不能同时设置 muted 属性和 disabled 属性。

使用示例

JSX
import { LocalAudioTrack, useLocalAudioTrack } from "agora-rtc-react";

function App() {
  const audioTrack = useLocalAudioTrack();
  return <LocalAudioTrack track={audioTrack} play />;
}

LocalVideoTrack

该组件用于播放本地视频轨道,播放设备为用户在浏览器中选择的设备。

如果你需要自行设置摄像头设备,可使用 Web SDK 的 ICameraVideoTrack.setDevice 方法。

Props

属性名类型默认值描述
trackILocalVideoTrack无要播放的本地视频轨道。通过 useLocalCameraTrack 或 Web SDK 的 IAgoraRTC.createScreenVideoTrack 创建。
playbooleanfalse
  • true:播放该轨道。
  • false:停止播放该轨道。
disabledbooleanfalse
  • true:禁用该轨道。禁用后,SDK 将停止播放和发布该轨道。
  • false:启用该轨道。
mutedbooleanfalse
  • true:暂停发送该轨道的媒体数据。
  • false:恢复发送该轨道的媒体数据。
videoPlayerConfigVideoPlayerConfig无视频轨道的播放配置。可以设置播放参数(镜像/显示模式),详见 VideoPlayerConfig。对于本地视频轨道,镜像模式默认开启。
表格内容超出当前宽度,可横向滚动查看更多列。

注意事项

设置 disabled 和 muted 属性时其实是调用了 Web SDK 的 setEnabled 方法和 setMuted 方法,因此:

  • 与设置 disabled 属性相比,设置 muted 属性的响应速度更快且不影响视频采集状态。
  • 不能同时设置 muted 属性和 disabled 属性。

使用示例

JSX
import { LocalVideoTrack, useLocalCameraTrack } from "agora-rtc-react";

function App() {
  const videoTrack = useLocalCameraTrack();
  return <LocalVideoTrack track={videoTrack} play />;
}

LocalUser

该组件用于播放本地用户的摄像头视频轨道和麦克风音频轨道,播放设备为用户在浏览器中选择的设备。

当视频轨道停止播放时,该组件会展示封面图片。

如果你需要自行设置麦克风或摄像头设备,可使用 Web SDK 的 IMicrophoneAudioTrack.setDevice 或 ICameraVideoTrack.setDevice 方法。

Props

属性名类型默认值描述
micOnbooleanfalse
  • true:打开本地用户的麦克风。
  • false:关闭本地用户的麦克风。
cameraOnbooleanfalse
  • true:打开本地用户的摄像头。
  • false:关闭本地用户的摄像头。
audioTrackIMicrophoneAudioTrack无要播放的麦克风音频轨道。通过 useLocalMicrophoneTrack 创建。
videoTrackICameraVideoTrack无要播放的摄像头视频轨道。通过 useLocalCameraTrack 创建。
playAudiobooleanfalse
  • true:播放本地用户的音频轨道。
  • false:停止播放本地用户的音频轨道。
playVideobooleanfalse
  • true:播放本地用户的视频轨道。
  • false:停止播放本地用户的视频轨道。
volumenumber无音量大小。取值范围 [0, 1000],0 代表静音,100 代表原始音量。100 以上会使用 Web Audio API 进行音量增益。
coverstring无当 playVideo 为 false时要渲染的封面图片,用于替代视频画面显示。支持传入在线图片的 URL 或本地图片的相对路径。
childrenReactNode无需要展示的 React 节点。
表格内容超出当前宽度,可横向滚动查看更多列。

使用示例

JSX
import { LocalUser, useLocalAudioTrack, useLocalCameraTrack } from "agora-rtc-react";

function App() {
  const audioTrack = useLocalAudioTrack();
  const videoTrack = useLocalCameraTrack();

  return (
    <LocalUser
      audioTrack={audioTrack}
      cameraOn
      cover={COVER_IMAGE_URL}
      micOn
      playAudio
      playVideo
      videoTrack={videoTrack}
    />
  );
}

RemoteAudioTrack

该组件用于播放远端用户的音频轨道,并且支持指定播放设备。

Props

属性名类型默认值描述
trackIRemoteAudioTrack无要播放的远端音频轨道。
playboolean无
  • true:播放该轨道。
  • false:停止播放该轨道。
playbackDeviceIdstring无要使用的播放设备 ID,例如扬声器。设备 ID 通过 IAgoraRTC.getPlaybackDevices 获取。该属性仅支持桌面端的 Chrome 浏览器,在其它浏览器上修改该属性的值将会抛出 NOT_SUPPORTED 错误。
volumenumber无音量大小。取值范围 [0, 100],0 代表静音,100 代表原始音量。
childrenReactNode无需要展示的 React 节点。
表格内容超出当前宽度,可横向滚动查看更多列。

使用示例

JSX
import { RemoteAudioTrack, useJoin, useRemoteAudioTracks, useRemoteUsers } from "agora-rtc-react";

function App() {
  const remoteUsers = useRemoteUsers();
  const audioTracks = useRemoteAudioTracks(remoteUsers);

  return (
    <>
      {audioTracks.map(track => (
        <RemoteAudioTrack key={track.getUserId()} play track={track} />
      ))}
    </>
  );
}

RemoteVideoTrack

该组件用于播放远端用户的视频轨道,并且不支持指定播放设备。

Props

属性名类型默认值描述
trackIRemoteVideoTrack无远端视频轨道对象。
playboolean无
  • true:播放该轨道。
  • false:停止播放该轨道。
videoPlayerConfigVideoPlayerConfig无视频轨道的播放配置。可以设置播放参数(镜像/显示模式),详见 VideoPlayerConfig。
表格内容超出当前宽度,可横向滚动查看更多列。

使用示例

JSX
import { RemoteVideoTrack, useJoin, useRemoteVideoTracks, useRemoteUsers } from "agora-rtc-react";

function App() {
  const remoteUsers = useRemoteUsers();
  const videoTracks = useRemoteVideoTracks(remoteUsers);

  return (
    <>
      {audioTracks.map(track => (
        <RemoteVideoTrack key={track.getUserId()} play track={track} />
      ))}
    </>
  );
}

RemoteUser

该组件用于播放远端用户的视频和音频轨道,并且仅支持指定使用的音频设备、不支持指定使用的视频设备。

Props

属性名类型默认值描述
userIAgoraRTCRemoteUser无远端用户对象。
playVideobooleanuser.hasVideo 属性的值
  • true:播放远端用户的视频轨道。
  • false:停止播放远端用户的视频轨道。
playAudiobooleanuser.hasAudio 属性的值
  • true:播放远端用户的音频轨道。
  • false:停止播放远端用户的音频轨道。
playbackDeviceIdstring无要使用的播放设备 ID,例如扬声器。设备 ID 通过 IAgoraRTC.getPlaybackDevices 获取。该属性仅支持桌面端的 Chrome 浏览器,在其它浏览器上修改该属性的值将会抛出 NOT_SUPPORTED 错误。
volumenumber无音量大小。取值范围 [0, 100],0 代表静音,100 代表原始音量。
coverstring | () => ReactNode无当 playVideo 为 false时要渲染的封面图片或自定义组件,用于替代视频画面显示。支持传入在线图片的 URL 或本地图片的相对路径。
childrenReactNode无需要展示的 React 节点。
videoPlayerConfigVideoPlayerConfig无视频轨道的播放配置。可以设置播放参数(镜像/显示模式),详见 VideoPlayerConfig。
表格内容超出当前宽度,可横向滚动查看更多列。

使用示例

JSX
import { RemoteUser, useRemoteUsers } from "agora-rtc-react";

function App() {
  const remoteUsers = useRemoteUsers();

  return (
    <>
      {remoteUsers.map(user => (
        <RemoteUser key={user.uid} user={user} />
      ))}
    </>
  );
}