Skip to content

开启系统声音采集

说明

该接口会采集其他应用音频数据,并将其混入到 SDK 当前的音频数据流中,从而使房间中的其他用户也能听到主播的其他应用所播放出的声音。
在线教育场景中,老师可以使用此功能让 SDK 采集教学影片中的声音,并广播给同房间中的学生。
音乐直播场景中,主播可以使用此功能让 SDK 采集音乐播放器中的音乐,从而为自己的直播间增加背景音乐。

注意

  1. 该接口只在 Android API 29 及以上的版本生效。
  2. 您需要先使用该接口来开启系统声音采集,当使用屏幕分享接口开启屏幕分享时才会真正生效。
  3. 您需要添加一个前台服务来确保系统声音采集不被静默,并设置 android:foregroundServiceType="mediaProjection" 。
  4. SDK 只采集满足捕获策略和音频用法的应用音频,目前采集的音频用法包括USAGE_MEDIA, USAGE_GAME。

方法名

startSystemAudioLoopback

用法

  • 用法如下:
js
module.startSystemAudioLoopback({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    let data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  complete: (res) => {
    // console.log(res)
  }
})
js
module.startSystemAudioLoopback({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    const data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  // complete: (res) => {
  //   console.log(res)
  // }
} as LevenOptions)
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject参数配置
    successFunction执行成功的函数
    failFunction执行失败的函数
    completeFunction执行完成的函数,不管成功还是失败都会执行

回调

  • 示例
json
{
"data": {},
"message": "",
"code": 0
}
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    codeInteger返回类型,0.成功,其他:失败