LocalScreenAudioStream interface

extends AudioStream  LOCAL

Your screen-share audio stream. Created automatically when you call publishScreen() with audio: true. Access via room.localParticipant.screenAudio (flat) or room.localParticipant.screen.audio (nested) โ€” both return the same instance.

Blueprint

Members inherited from AudioStream. Lifecycle is bundled with LocalScreenStream โ€” no own events.

interface LocalScreenAudioStream extends AudioStream { // No added members. Bundled screen audio is read-only from the app's perspective โ€” // no device control, no processor, no own events. // No setInputDevice โ€” screen audio captured by getDisplayMedia (no separate device) // No own events โ€” lifecycle bundled with LocalScreenStream's 'ended' }
No setInputDevice. Screen audio is captured by the browser's getDisplayMedia picker alongside the screen video โ€” there's no separate device picker.
No processor on screen audio in v1. Microphone-side processors run via VideoSDK.applyAudioProcessor() โ€” they apply to me.audio, not to bundled screen audio. Screen audio passes through to peers unmodified.
Lifecycle is bundled with the screen. When the screen-share ends (you stopped sharing, browser's "Stop sharing" banner clicked), the audio ends with it. Listen to LocalScreenStream.on('ended') for the bundle terminator. There's no separate ended event on this stream.

Methods

All inherited from AudioStream: attach / detach, getStats, getMediaStreamTrack. No methods added on this subtype.

Events

No own events. Lifecycle (when screen-share ends) flows through me.screen.on('ended'). There's nothing audio-specific to observe locally โ€” for level monitoring on the producing side use getStats() or LocalAudioStream instead (mic).

See also: AudioStream LocalScreenStream RemoteScreenAudioStream LocalParticipant.publishScreen