Comments (4)
Facing same issues. Is there any good workaround?
from opentok-react.
Delay loading the OpenTok library until the app is running in the browser.
How you do that will change depending on your particular framework.
from opentok-react.
@stevelong-at-prplrs How to do that on NextJs?
from opentok-react.
As @stevelong-at-prplrs mentioned, the problem is that NextJs will try to render it server side and OpenTok needs to be run on the client because it needs access to the browser. It wont work server side hence: ReferenceError: window is not defined.
To overcome that you need to run OpenTok only on the client, one solution is to use next/dynamic
to avoid rendering the component server side.
A working solution could be wrapping up all your OpenTok session in a component and dinamically import it.
/pages/index.js
import dynamic from "next/dynamic";
const OpenTokWrap = dynamic(() => import("../../components/OpenTokWrap"), {
ssr: false, // important to disable SSR
});
export default function Home() {
return (
<OpenTokWrap />
)
};
/components/OpenTokWrap.jsx
import {
preloadScript,
OTSession,
OTPublisher,
OTStreams,
OTSubscriber,
} from "opentok-react";
const OpenTokWrap = ({ session }) => (
<OTSession apiKey="api-key" sessionId="session-id token="token">
<OTPublisher />
<OTStreams>
<OTSubscriber />
</OTStreams>
</OTSession>
);
export default preloadScript(OpenTokWrap);
from opentok-react.
Related Issues (20)
- Changing audioSource doesn't work
- Is this project being maintained? HOT 4
- Opentok JS sdk considers media volume instead of phone volume.
- Doesn't work with react v17 HOT 4
- Firefox and Safari compatibility
- In Safari on iOS 15, the video is rotated and flickered, if the app is run in the background
- Timeout error and please find attached screen for the react api
- What about Feature: [WebRTC] Deprecate and Remove Plan B ?
- Opentok publisher video always showing endless loading on Safari in IPhone
- How can we show network disconnected message to both connected users?
- Support stricter Content Security Policies
- prop-types-15.5.10.tgz: 4 vulnerabilities (highest severity is: 7.5)
- lodash-4.17.4.tgz: 7 vulnerabilities (highest severity is: 9.1)
- How to stream system audio along with screenshare
- Share only a portion of screen
- Option to mute microphone of the publisher through a button
- applyVideoFilter not working HOT 1
- cannot screen share
- sessionDisconnected, sessionReconnected, sessionReconnecting events not triggered on internet connection change HOT 2
- applyVideoFilter: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentok-react.