在tokbox会话中屏蔽语音

时间:2017-07-13 09:18:50

标签: opentok tokbox

我有一个使用Tokbox的应用程序与用户创建1:1视频通话。但是,在tokbox会话中,当他们说话时,是否可以屏蔽/变形用户的声音? Pitch Modifier

1 个答案:

答案 0 :(得分:1)

可能但不使用官方支持的API。您需要拦截getUserMedia调用,对截获的流的音频轨道进行修改,并将修改后的流传递给opentok.js。

有关如何拦截getUserMedia调用以修改流视频轨道的示例,请参阅https://tokbox.com/blog/camera-filters-in-opentok-for-web/

以下是使用博文中的mockGetUserMedia函数用简单的正弦波替换音轨的基本示例:

mockGetUserMedia((originalStream) => {
  const audioContext = new window.AudioContext();

  const destination = audioContext.createMediaStreamDestination();
  const customStream = destination.stream;
  originalStream.getVideoTracks().map(videoTrack => customStream.addTrack(videoTrack));

  const oscillator = audioContext.createOscillator();
  oscillator.start(audioContext.currentTime);
  oscillator.connect(destination);

  return customStream;
});

请记住:这不是官方支持的API,使用风险自负。