Audio Rooms
Build Clubhouse-style audio rooms with multiple speakers and listeners using ConoStreamAudioHelper.
Room Structure
┌────────────────────────────────────┐
│ AUDIO ROOM │
├────────────────────────────────────┤
│ 🎙️ HOST 🎙️ CO-HOST 1 │
│ 🎙️ CO-HOST 2 │
├────────────────────────────────────┤
│ 👤 👤 👤 👤 👤 AUDIENCE 👤 👤 👤 │
└────────────────────────────────────┘
Initialize Audio Helper
ConoStreamManager manager = getConoStreamManager();
ConoStreamAudioHelper audioHelper = new ConoStreamAudioHelper(manager, this);
Host: Start Room
// Host joins and starts publishing
audioHelper.joinAsHost(serverUrl, token, channelName);
// Enable speaker output
manager.configureAudioForSpeaker();
Audience: Join Room
// Audience joins (listen only)
audioHelper.joinAsAudience(serverUrl, token, channelName);
Co-host: Upgrade from Audience
// When approved by host
audioHelper.upgradeToCoHost();
// Later, step down
audioHelper.downgradeToAudience();
Seat Management (App-Level)
// Your app manages seat logic
public void onSeatClicked(int seatNumber) {
if (isSeatEmpty(seatNumber)) {
// Request to become co-host
sendCoHostRequest(seatNumber);
}
}
public void onCoHostApproved() {
audioHelper.upgradeToCoHost();
updateSeatUI();
}
Leave Room
audioHelper.leaveRoom();
ℹ️
Seat management, request/approval flow, and UI are handled by your app. ConoStream handles the audio streaming.