UNPKG

odyssey-spatial-comms

Version:

Drop-in replacement for Dolby/Voxeet SDK using Odyssey Spatial Audio Service

71 lines (57 loc) 1.92 kB
import SpatialCommsSDK, { SpatialAudioStyle } from '../src/index'; // Configure the Spatial Communications SDK (our native API) SpatialCommsSDK.configure({ serviceUrl: 'https://your-spatial-audio-service.com' }); // Initialize with access token (native SpatialComms method) const accessToken = 'your-jwt-token'; SpatialCommsSDK.initialize(accessToken, async () => { // Refresh token callback return 'new-jwt-token'; }); async function joinConference() { try { // Open session (SpatialComms native API) await SpatialCommsSDK.session.open({ name: 'John Doe', externalId: 'user-123', avatarUrl: 'https://example.com/avatar.jpg' }); // Create conference (SpatialComms native API) const conference = await SpatialCommsSDK.conference.create({ alias: 'my-conference-room', params: { spatialAudioStyle: SpatialAudioStyle.INDIVIDUAL } }); // Join conference await SpatialCommsSDK.conference.join(conference, { participantInfo: { name: 'John Doe', externalId: 'user-123' } }); // Start audio await SpatialCommsSDK.audio.local.start(); // Set spatial position (enhanced 3D) SpatialCommsSDK.conference.setSpatialPosition( SpatialCommsSDK.session.participant!, { x: 0, y: 0, z: 0 } ); console.log('Successfully joined conference with SpatialComms SDK!'); } catch (error) { console.error('Conference join failed:', error); } } // Event listeners (SpatialComms native API) SpatialCommsSDK.conference.on('participantJoined', (participant) => { console.log('Participant joined:', participant); }); SpatialCommsSDK.conference.on('participantLeft', (participant) => { console.log('Participant left:', participant); }); SpatialCommsSDK.conference.on('streamAdded', (stream) => { console.log('Stream added:', stream); }); // Start the demo joinConference();