在OpenTok中自动显示当前说话的用户
问题描述:
我目前正在开发一个Android应用程序,使用户可以通过OpenTok API相互进行群组聊天。我想为应用添加一项功能,该功能可以自动检测哪个用户正在说话,并向其他用户展示他的视频,并最大限度地减少其他用户的视频,直到其他人谈话。在OpenTok中自动显示当前说话的用户
我无法在OpenTok中找到这样的功能,所以我想知道是否有解决方法。
private void joinVideoCall(String sessionId, String sessionToken) {
session = new Session.Builder(activity, OPENTOK_API_KEY, sessionId).build();
session.setSessionListener(this);
session.connect(sessionToken);
}
@Override
public void onConnected(Session session) {
publisher = new Publisher.Builder(activity).build();
publisher.setPublisherListener(this);
publisherView.addView(publisher.getView());
session.publish(publisher);
}
@Override
public void onStreamReceived(Session session, Stream stream) {
subscriber = new Subscriber.Builder(activity, stream).build();
session.subscribe(subscriber);
subscriberView.addView(subscriber.getView());
}
...
答
为了做到这一点,您需要使用自定义音频驱动程序来检测音频电平。
看看这个例子:https://github.com/opentok/opentok-android-sdk-samples/tree/master/Custom-Audio-Driver
而且也,看看API文档:https://tokbox.com/developer/sdks/android/reference/com/opentok/android/BaseAudioDevice.html