Skip to main content

voxera_room_core 1.1.1 copy "voxera_room_core: ^1.1.1" to clipboard
voxera_room_core: ^1.1.1 copied to clipboard

PlatformAndroid

Shared models, policies and helpers for the Voxera audio and live room kits. Apps use it through voxera_audio_room_kit or voxera_live_room_kit, which re-export its public API.

voxera_room_core #

Shared models, policies and helpers for the Voxera room kits.

Apps don't depend on this package directly: voxera_audio_room_kit and voxera_live_room_kit re-export its public API. An app that uses both kits gets one VoxeraTokenResponse, one VoxeraJoinFailure, one VoxeraRoomMusic and so on, instead of a copy from each kit.

Error codes #

Every error the kits report is a VoxeraError with a code from one table, errors/catalog.json. The kits print one line per error:

[Voxera] E40303 SERVICE_NOT_ENABLED: Type 'audio_room' is not enabled for this project · https://voxerastream.com/docs/errors/40303 · req 3f2a…

and deliver it on VoxeraErrors.stream, for analytics or the app's own message. doc/errors.md lists every code. To add one, edit the catalog and run dart run tool/generate_errors.dart; the engine's codes must match the catalog (the engine's errorCodes.test.js checks).

Code for both kinds of room #

Both kits' VoxeraRoomController implement VoxeraRoomSession, so code that does the same thing in an audio room and a live room is written once:

final session = VoxeraRoomSession.active;
if (session != null && session.isConnected) {
  await session.music.pause();
}

The minimized room #

Put one VoxeraMiniOverlayHost in a Stack above the navigator. It shows the floating window of whichever room is minimized, audio or live:

MaterialApp(
  builder: (context, child) => Stack(
    children: [
      child!,
      VoxeraMiniOverlayHost(
        // Optional: your own window for some rooms; null keeps the kit's.
        builder: (context, session) => null,
      ),
    ],
  ),
);

package:voxera_room_core/internal.dart holds the building blocks the kits use (logging, connect budget, device id, session resume, token refresh). It is not part of the app-facing API.

0
likes
150
points
34
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Shared models, policies and helpers for the Voxera audio and live room kits. Apps use it through voxera_audio_room_kit or voxera_live_room_kit, which re-export its public API.

Homepage

License

MIT (license)

Dependencies

dio, floating, flutter, flutter_webrtc, shared_preferences, voxera_media_client

More

Packages that depend on voxera_room_core