与opentok.js和Vuejs的问题

问题描述 投票:0回答:2

我在我的Vuejs项目中集成了openjs。但我现在卡住了。下面的代码非常简单,给我以下错误。

<template>
</template>
<script>
  export default {
    // eslint-disable-line no-unused-vars
    name: 'Video-call',
    created () {
    }
  }
  var session = OT.initSession('apikey', 'sessionid')
  var publisher = OT.initPublisher()
  session.connect('token', function (err) {
    console.log(err)
  })
  console.log(session)
  console.log(publisher)
  session.publish(publisher)
  session.on('streamCreated', function (event) {
    session.subscribe(event.stream)
  })
</script>

例外细节

uncaught TypeError: Cannot convert undefined or null to object
    at slice (<anonymous>)
    at nodeListToArray (opentok.js:19284)
    at selectorToElementArray (opentok.js:19327)
    at new ElementCollection (opentok.js:19360)
    at module.exports (opentok.js:19255)
    at Object.browserAjax.request (opentok.js:20174)
    at Object.browserAjax.post (opentok.js:20217)
    at opentok.js:42190
    at loop (opentok.js:42373)
    at QueueRunner.run (opentok.js:42377)

我找不到我做错了什么。

vue.js opentok tokbox
2个回答
0
投票

试试这个:`

import OT from 'YOUR PATH'
export default {
    name: 'Video-call',
    created () {
var session = OT.initSession('apikey', 'sessionid')
  var publisher = OT.initPublisher()
  session.connect('token', function (err) {
    console.log(err)
  })
  console.log(session)
  console.log(publisher)
  session.publish(publisher)
  session.on('streamCreated', function (event) {
    session.subscribe(event.stream)
  })
    }
  }

`


0
投票

当我运行该代码(没有vuejs)时,我会在发布之前收到有关需要连接的错误。您需要在session.connect回调中移动session.publish调用。

你得到的其他TypeError看起来像是传入一个对象而不是一个元素id,无论是OT.initPublisher,session.publish还是session.subscribe。这些方法中的每一个都有一个参数,该参数应该是HTMLNode或HTMLNode的id。如果你传入例如,你会得到那个错误。而不是内部opentok尝试执行document.querySelectorAll(object)并返回null。

© www.soinside.com 2019 - 2024. All rights reserved.