我有一个使用Tokbox的应用程序与用户创建1:1视频通话。但是,在tokbox会话中,当他们说话时,是否可以屏蔽/变形用户的声音? Pitch Modifier
答案 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,使用风险自负。