Agora Web SDK NG

Agora Web SDK NG

  • 文档
  • API
  • 迁移文档
  • Demos
  • Github
  • 版本
  • Languages icon中文
    • English

›音频管理

发版记录

  • Release Note

入门

  • 概览
  • 集成 SDK
  • 实现基本通话
  • 加入/离开频道
  • 创建本地轨道对象
  • 发布和订阅

音频管理

  • 调整通话音量
  • 设置音频属性
  • 播放音效/混音
  • 自定义音频采集

视频管理

  • 设置视频属性
  • 清晰优先和流畅优先
  • 美颜
  • 屏幕共享
  • 自定义视频采集

高级媒体流管理

  • 七人以上视频场景
  • 跨直播间连麦
  • 推流到 CDN
  • 输入在线媒体流
  • 使用云代理
  • 媒体流加密

设备管理

  • 音视频设备测试/切换

体验提升

  • 通话中质量监测
  • 视频流回退

自定义音频采集

功能介绍

实时音视频传输过程中,Agora SDK 通常会启动默认的音频模块进行采集。在以下场景中,你可能会发现默认的音频模块无法满足开发需求:

  • app 中已有自己的音频模块
  • 希望使用非麦克风采集的音频源,比如裸 PCM 数据
  • 需要使用自定义的音频前处理库(变声等)

本文介绍如何使用 Agora Web SDK NG 在项目中实现自定义的音频采集。

实现方法

在开始前,请确保已在你的项目中实现基本的实时音视频功能。详见实现音视频通话。

SDK 提供 createCustomAudioTrack 方法,支持通过传入一个 MediaStreamTrack 对象来创建本地音频轨道,你可以通过这个方法实现自定义音频采集。

例如,你可以调用 getUserMedia 方法获取 MediaStreamTrack 对象,再将该对象传入 createCustomAudioTrack 创建可以在 SDK 中使用的本地音频轨道对象。

navigator.mediaDevices.getUserMedia({ video: false, audio: true })
  .then((mediaStream) => {
    const audioMediaStreamTrack = mediaStream.getAudioTracks()[0];
    // create custom audio track
    return AgoraRTC.createCustomAudioTrack({
      mediaStreamTrack: audioMediaStreamTrack,
    });
  })
  .then((localAudioTrack) => {
    // ...
  });

MediaStreamTrack 对象是指浏览器原生支持的 MediaStreamTrack 对象,具体用法和浏览器支持状况请参考 MediaStreamTrack API 文档。

同样,你也可以利用强大的 Web Audio API 来获取 MediaStreamTrack,实现定制化的音频处理。

API 参考

  • createCustomAudioTrack
  • LocalAudioTrack
← 播放音效/混音设置视频属性 →
  • 功能介绍
  • 实现方法
    • API 参考
Agora Web SDK NG
Docs
Getting StartedAPI ReferenceAgora.io
More
GitHubStar
Copyright © 2020 Agora