Tracks

Tracks are individual audio or video streams. They are published by participants and can be subscribed to by others in the room.

Track Types

Type Description Source
AudioTrack Audio stream Microphone, music file
VideoTrack Video stream Camera, screen share
DataTrack Arbitrary data Messages, events

Publishing Tracks

// Publish microphone audio
manager.publishMicrophone();

// Publish camera video
videoHelper.publishCamera(localVideoView);

Subscribing to Tracks

Remote tracks are automatically subscribed. Handle them in callbacks:

videoHelper.setEventCallback(new ConoStreamVideoEventCallback() {
    @Override
    public void onRemoteVideoTrackSubscribed(String id, VideoTrack track) {
        // Attach to a renderer
        track.addRenderer(remoteVideoView);
    }

    @Override
    public void onRemoteAudioTrackSubscribed(String id) {
        // Audio plays automatically
    }
});

Track States

Muting Tracks

// Mute audio (stops sending, doesn't unpublish)
manager.muteMicrophone(true);

// Disable video (stops camera capture)
videoHelper.enableCamera(false);

Video Track Rendering

// Add renderer to video track
videoTrack.addRenderer(textureViewRenderer);

// Remove renderer
videoTrack.removeRenderer(textureViewRenderer);
ℹ️

Audio tracks play automatically when subscribed. Video tracks must be attached to a renderer to be visible.