BunnyPlayerView
Types
Properties
When true, keeps the position/duration readout white with a dark shadow. The built-in controller darkens the video behind this text, so white remains readable even over bright frames and letterbox bars. Manual progressTextColor values apply when this is false.
Condensed control bar. When true, secondary controls (settings, captions, duration readout) are hidden to reduce clutter on small surfaces, leaving the essentials (play, progress, mute, PiP, fullscreen). Driven for live playback by the dashboard's enableCompactControls from the live /play customization.
Whether the built-in control bar is used. Set it to false to get a bare video surface and drive playback from your own UI; taps on the player then do nothing and no control ever appears. Defaults to true.
Invoked with true when an ad break starts and false when the video takes over again. The built-in control bar hides itself for the ad; a custom UI (controlsEnabled off) should do the same, since seeking is ignored until the ad break ends.
Invoked with the video's chapters once they are known (empty when it has none).
Invoked while the player buffers, so a custom UI can show its own spinner.
Invoked with the video's moments once they are known (empty when it has none).
Invoked when the audio is muted or unmuted, from any source.
Invoked when the engine reports a playback error (after the built-in error overlay is shown). Lets hosts react — the live player uses it to re-poll the stream status and rebuild playback from the live edge.
Invoked whenever the playback rate changes, including the rate the engine restores by itself when net.bunny.bunnystreamplayer.config.PlaybackSpeedConfig.rememberLastSpeed is on.
Invoked when playback moves between this device and a connected Chromecast. A custom UI needs it to stop presenting itself as the thing playing the video.
Invoked when playback starts or stops, whatever the cause - a control, your own code, the end of the video, or a handover to Chromecast. Keep a custom play/pause button in sync with this rather than with your own taps.
Invoked with the retention graph once it is known, for a custom seek bar.
Invoked with the current video's pixel dimensions (first frame and on change) so the host can size its container to the real aspect ratio — enabling correct display of both 16:9 and 9:16 (vertical) content.
Text color used for the position counter, total duration, and the / divider between them in the bottom controls. Defaults to Color.WHITE so the readout stays legible against the dark letterbox. The Bunny dashboard does not expose this setting — set it on the view from your app code to override.
Optional client-side watermark overlay drawn on top of the video. Rendered inside this view, so the same config can be applied by the fullscreen player, which hosts its own BunnyPlayerView. A transient detach removes the overlay; watermark is kept and the overlay is re-applied on re-attach.
Functions
Kept for source and binary compatibility; automatic readout color has no worker resources.