我在android studio java.中使用vonage api的屏幕共享,我遵循了他们的文档,但问题是:当我尝试共享屏幕时,它从摄像头而不是屏幕发送视频capturing.Here是代码片段,(另外,我是否需要使用不同的API key,session id来实现与视频共享api不同的屏幕共享设置)
@Override
public void onConnected(Session session) {
Log.d(TAG, "onConnected: Connected to session " + session.getSessionId());
mPublisher = new Publisher.Builder(MainActivity.this).name("publisher").build();
mPublisher.setPublisherListener(this);
mPublisher.setPublisherVideoType(PublisherKit.PublisherKitVideoType.PublisherKitVideoTypeScreen);
mPublisher.setAudioFallbackEnabled(false);
ScreenSharingCapturer screenCapturer = new ScreenSharingCapturer(MainActivity.this, mWebViewContainer);
mPublisher.setCapturer(screenCapturer);
mWebViewContainer.setWebViewClient(new WebViewClient());
WebSettings webSettings = mWebViewContainer.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebViewContainer.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
mWebViewContainer.loadUrl("http://www.tokbox.com");
mPublisher.setStyle(BaseVideoRenderer.STYLE_VIDEO_SCALE, BaseVideoRenderer.STYLE_VIDEO_FILL);
mPublisherViewContainer.addView(mPublisher.getView());
mSession.publish(mPublisher);
}发布于 2021-01-30 20:41:18
最后我解决了这个问题:
Publisher.Builder mPublisherBuilder = new Publisher.Builder(MainActivity.this); //.build();
ScreenSharingCapturer screenCapturer = new ScreenSharingCapturer(MainActivity.this, mWebViewContainer);
mPublisherBuilder=mPublisherBuilder.capturer(screenCapturer);
mPublisher=mPublisherBuilder.build();setCapturer已被弃用,因此它没有从BaseVideoCapture设置捕获器。
https://stackoverflow.com/questions/65966321
复制相似问题