首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OTCore仅启动多个现有流,而不是1个

OTCore仅启动多个现有流,而不是1个
EN

Stack Overflow用户
提问于 2020-04-02 23:10:13
回答 1查看 163关注 0票数 1

为我的英语荷兰人感到抱歉。

我正在使用accelerator-core-js来分享我的屏幕并将其发布到。

示例可以在这里找到https://github.com/opentok/accelerator-core-js

试图实现它,但迷失了方向。

当我打开一个要发布的新流时,它将发布2*个现有的流。

为了给人一个印象,如果我有2个活跃的流,并打开一个新的1,它将发布3个新的流。

我提供了一些代码。

举个例子

启动了三个发布流。我想至少有三个是我从html开始的。

代码语言:javascript
复制
let otCore;
const otCoreOptions = {
  credentials: {
    apiKey:"" ,
    sessionId: "",
    token: "",
  },
  // A container can either be a query selector or an HTML Element
  streamContainers(pubSub, type, data, streamId) {
    return {
      publisher: {
        camera: '#cameraPublisherContainer',
        screen: '#screenPublisherContainer',
      },
      subscriber: {
        camera: '#cameraSubscriberContainer',
        screen: '#screenSubscriberContainer',
      },
    }[pubSub][type];
  },
  controlsContainer: '#controls',
  packages: ['textChat', 'screenSharing', 'annotation'],
  communication: {
    callProperites: null, // Using default
  },

  screenSharing: {
    extensionID: "lalalalalalal",
    annotation: true,
    externalWindow: false,
    dev: true,
    screenProperties: {
      insertMode: 'append',
      width: '100%',
      height: '100%',
      showControls: false,
      style: {
        buttonDisplayMode: 'off',
      },
      videoSource: 'window',
      fitMode: 'contain' // Using default
    },
  },
  annotation: {
    absoluteParent: {
      publisher: '.App-video-container',
    }
  },
};

....

 render() {
    const { connected, active } = this.state;
    const {
      localAudioClass,
      localVideoClass,
      localCallClass,
      controlClass,
      cameraPublisherClass,
      screenPublisherClass,
      cameraSubscriberClass,
      screenSubscriberClass,
    } = containerClasses(this.state);

    return (
      <div className="App">
        <div className="App-header">
          <h1>OpenTok Accelerator Core</h1>
        </div>
        <div className="App-main">
          <div className="App-video-container">
            { !connected && connectingMask() }
            { connected && !active && startCallMask(this.startCall)}
            <div id="cameraPublisherContainer" className={cameraPublisherClass} />
            <div id="screenPublisherContainer" className={screenPublisherClass} />
            <div id="cameraSubscriberContainer" className={cameraSubscriberClass} />
            <div id="screenSubscriberContainer" className={screenSubscriberClass} />
          </div>
          <div id="controls" className={controlClass}>
            <div className={localAudioClass} onClick={this.toggleLocalAudio} />
            <div className={localVideoClass} onClick={this.toggleLocalVideo} />
            <div className={localCallClass} onClick={this.endCall} />
          </div>
          <div id="chat" className="App-chat-container" />
        </div>
      </div>
    );
  }
EN

回答 1

Stack Overflow用户

发布于 2020-06-07 09:07:20

不确定你是否还需要它,但这是因为这一行:{ connected && !active && startCallMask(this.startCall)}

您应该在componentDidMount中启动调用。也有同样的问题。但是,在调用startCall处理程序之前,请确保检查用户是否已连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60994812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档