Crewbox 1.0
Voice
Push-to-talk party lines in any channel - joining, the talk button, locking the mic open, audio settings, and the HTTPS rule.
Every channel can be a push-to-talk party line. The voice server runs inside the box, so voice works with no internet on site. Anyone in the channel's voice hears everyone who is talking.
The release downloads include the voice server. A box run from source has no
voice unless LIVEKIT_URL points it at a LiveKit server: the headset button
doesn't appear, and Admin → This box shows Push-to-talk voice as off.
Joining
Join voice intercom
The headset button in a channel's header joins that channel's line. While it connects the voice bar says Joining voice….
The voice bar
Once you're in, a bar sits above the app and stays with you as you move between channels and modules. It shows:
- Voice · #channel: the line you're on. Voice reconnecting… if the connection drops; it rejoins by itself.
- A chip per person on the line, with a dot for their connection quality, lighting up while they speak.
- listen-only when your device can't use its microphone (see the HTTPS rule).
- Audio settings: the gear. See below.
- Leave: hangs up. Leave voice in the channel header does the same.
Talking
Hold to talk
The big round button. Hold it to talk; let go to stop. It reads HOLD when idle and LIVE while you're transmitting, with a halo that moves with your voice. If the halo doesn't move, your microphone isn't hearing you.
Lock mic open
The padlock beside it latches your microphone open, for gloved hands or a long explanation: 🔒 Lock mic open, then 🔓 Mic locked open — tap to release. Tap again to close it. Everyone on the line can see whose mic is open, so a forgotten latch is noticed.
Status pills
Above the button:
- 🔊 names: who's talking right now.
- Tap to hear comms: the browser has blocked sound until you touch the page. Tap once.
- Weak signal — your voice may be choppy: your connection to the box is poor. Move towards an access point.
Audio settings
The gear on the voice bar opens the audio settings.
Microphone (send)
Which microphone to use. System default follows the device.
Mic level
A live meter for the chosen microphone. It says Testing microphone… while it starts, then Say something — the bar should move. If not, pick another mic. If the device has no usable microphone it says Microphone unavailable — you are listen-only.
Speaker (receive)
Which output to play voice through. iPhones don't let a web page choose; the setting explains how to switch outputs in Control Centre or your Bluetooth settings instead.
Done closes the settings.
The HTTPS rule
Browsers only give a web page the microphone when it's served over HTTPS (or
from localhost). On a box served over plain http://, a browser can join
voice and hear everyone, but it's listen-only: the voice bar says so and
the talk button doesn't transmit.
Three ways round it:
- The Android app has its own microphone permission and talks over plain HTTP.
- Give the box a certificate and a name. HTTPS, names and certificates is the recipe. It also enables installing the app to home screens.
- The machine running the box is always fine at
localhost.
Admin → This box shows how voice stands on this box (Push-to-talk voice) and how it has actually sounded on crew devices (How comms sound).