createCallObject()
createCallObject({properties})
Compatibility:
Prebuilt
Custom
Create a video call object as part of the current page's JavaScript environment (not isolated in an iframe).
This is an advanced usage of the daily-js API. It gives you raw access to MediaStreamTrack objects, and other WebRTC objects, for building custom video call experiences.
The argument is an optional properties
object that configures call settings. These settings include:
url
token
subscribeToTracksAutomatically
reactNativeConfig
lang
audioSource
: Can be set to the MediaStreamTrack object directly, or set to false if you'd rather set the input device later viasetInputDevicesAsync()
videoSource
: SeeaudioSource
receiveSettings
For full details on all the properties, see the properties list.
If you don't set at least the url
property via createCallObject()
, you'll need to set it later when you call the join()
or load()
method.
By default, only one call object instance is supported at a time and the constructor will throw an
Error
if multiple are detected. Starting in daily-js 0.67.0
, multiple instances are supported on an opt in basis. To opt-in, setallowMultipleCallInstances
to true
in your factory method's properties. and checkout this guide for more information.Learn more: call object guides, tutorials, and demos