shinyoshiaki / skyway-red

MIT License
1 stars 0 forks source link

Uncaught TypeError: werift_rtp__WEBPACK_IMPORTED_MODULE_0__.RedSender is not a constructor #1

Closed yanoyuki closed 2 years ago

yanoyuki commented 2 years ago

発生内容

以下のエラーが発生します。

index.js:41 Uncaught TypeError: werift_rtp__WEBPACK_IMPORTED_MODULE_0__.RedSender is not a constructor
    at index.js:41:1
    at Array.forEach (<anonymous>)
    at RTCPeerConnection.<anonymous> (index.js:35:1)

スクリーンショット 2022-07-24 15 49 04

コード

import { SkyWayRED } from '@shinyoshiaki/skyway-red'
...
export const createSkywayRED = () => {
  const skywayRED = new SkyWayRED({ redDistance: 4 })
  return skywayRED
}
const skywayRED = createSkywayRED()
...
const connection = peer.call(peerId, stream)
skywayRED.activateRED(connection) // ここで上記エラーが発生

Peerは以下のように生成しています。

  const peer = new Peer(peerId, {
    key: API_KEY,
    config: { encodedInsertableStreams: true },
    debug: DEBUG_LEVEL,
  })

手元のコードは「SkyWayでREDを使って音声品質のパケロス耐性を高める」に従っているように思われます。

環境

ブラウザ: Google Chrome バージョン: 103.0.5060.114

package.json

...
"@shinyoshiaki/skyway-red": "^0.1.2",
...
"react": "^18.0.0",
...
"skyway-js": "^4.4.4",
yanoyuki commented 2 years ago

index.tsindex.js の内容が異なるため、トランスパイルされていないことが原因かもしれません。

src/index.ts

import { buffer2ArrayBuffer, Red, RedEncoder } from "werift-rtp";

lib/index.js

import { buffer2ArrayBuffer, Red, RedSender } from "werift-rtp";
shinyoshiaki commented 2 years ago

npmにパッケージを公開する際に手違いで古いファイルを公開したようです。 問題を修正したv0.1.3を公開したのでそちらを試してください

yanoyuki commented 2 years ago

v0.1.3 のインストールにより解決しました。ありがとうございました。