feat: Add UI optional UI locking when microphone is hot (#2484)
This commit is contained in:
committed by
dermotduffy
parent
9a763db1f3
commit
be7e7d79dc
@@ -183,6 +183,7 @@ live:
|
||||
| `auto_mute` | `[]` | A list of conditions in which the microphone is muted. `unselected` will automatically mute the microphone when a camera is unselected in the carousel or grid. `hidden` will automatically mute the microphone when the card becomes hidden (e.g. browser/tab change). Use an empty list (`[]`, the default) to never automatically mute the microphone via these conditions. |
|
||||
| `auto_unmute` | `[]` | A list of conditions in which the microphone is unmuted. `selected` will automatically unmute the microphone when a camera is selected in the carousel or grid (useful for an always-hot mic on the currently selected camera). `visible` will automatically unmute when the card becomes visible. Use an empty list (`[]`, the default) to never automatically unmute the microphone via these conditions. The browser will still prompt for microphone permission on first unmute. |
|
||||
| `disconnect_seconds` | `90` | The number of seconds after microphone usage to disconnect the microphone from the stream. `0` implies never. Not relevant if `always_connected` is `true`. |
|
||||
| `lock` | `true` | Whether to lock disruptive actions (view/camera/substream changes, pause, reload, casting) while the microphone is unmuted. Prevents an accidental tap, swipe, or button press from cutting off the session mid-sentence during 2-way audio. Set to `false` to allow all actions regardless of microphone state. |
|
||||
| `mute_after_microphone_mute_seconds` | `60` | The number of seconds after the microphone mutes to automatically mute the inbound audio when `live.auto_mute` includes `microphone`. |
|
||||
|
||||
See [Using 2-way audio](../usage/2-way-audio.md) for more information about the very particular requirements that must be followed for 2-way audio to work.
|
||||
@@ -249,6 +250,7 @@ live:
|
||||
auto_mute: []
|
||||
auto_unmute: []
|
||||
disconnect_seconds: 90
|
||||
lock: true
|
||||
mute_after_microphone_mute_seconds: 60
|
||||
display:
|
||||
mode: single
|
||||
|
||||
@@ -62,6 +62,7 @@ menu:
|
||||
| `alignment` | `matching` | Whether this menu item should have an alignment that is `matching` the menu alignment or `opposing` the menu alignment. Can be used to create two separate groups of buttons on the menu. The `priority` option orders buttons within a given `alignment`. |
|
||||
| `enabled` | `true` for `camera_ui`, `cameras`, `display_mode`, `download`, `folders`, `fullscreen`, `gallery`, `info`, `iris`, `live`, `media_player`, `set_review`, `substreams` and `timeline`. `false` for `clips`, `expand`, `image`, `microphone`, `mute`, `pip`, `play`, `ptz_controls`, `ptz_home`, `recordings`, `reviews`, `screenshot` and `snapshots`. | Whether or not to show the button. |
|
||||
| `icon` | | An icon to overriding the default for that button, e.g. `mdi:camera-front`. See also [custom icons](../usage/custom-icons.md). |
|
||||
| `inert` | `false` | If `true` the button is shown but rendered as inert (greyed out, non-interactive). Differs from `enabled: false`, which removes the button entirely. |
|
||||
| `permanent` | `false` | If `false` the menu item is hidden when the menu has the `hidden` style and the menu is closed, otherwise it is shown (and sorted to the front). |
|
||||
| `priority` | `50` | The menu item priority. Higher priority items are ordered closer to the start of the menu alignment (i.e. a button with priority `70` will order further to the left than a button with priority `60`). Priority applies separately to `matching` and `opposing` groups (see `alignment` above). Minimum `0`, maximum `100`. |
|
||||
| `state_color` | `true` | Whether to colorize the button based on the state of a related entity (where applicable). |
|
||||
@@ -103,137 +104,164 @@ menu:
|
||||
camera_ui:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:web
|
||||
cameras:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:video-switch
|
||||
clips:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:filmstrip
|
||||
display_mode:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:grid
|
||||
download:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:download
|
||||
expand:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:arrow-expand-all
|
||||
folders:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:folder-multiple
|
||||
fullscreen:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:fullscreen
|
||||
gallery:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:play-box-multiple
|
||||
image:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:image
|
||||
info:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:information-outline
|
||||
iris:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: iris
|
||||
live:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:cctv
|
||||
media_player:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:cast
|
||||
microphone:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:microphone
|
||||
type: momentary
|
||||
mute:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:volume-off
|
||||
pip:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:picture-in-picture-bottom-right
|
||||
play:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:play
|
||||
ptz_controls:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:pan
|
||||
ptz_home:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:home
|
||||
recordings:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:album
|
||||
reviews:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:play-box-edit-outline
|
||||
screenshot:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:monitor-screenshot
|
||||
set_review:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:check-circle
|
||||
snapshots:
|
||||
priority: 50
|
||||
enabled: false
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:camera
|
||||
substreams:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:video-input-component
|
||||
timeline:
|
||||
priority: 50
|
||||
enabled: true
|
||||
inert: false
|
||||
alignment: matching
|
||||
icon: mdi:chart-gantt
|
||||
button_size: 40
|
||||
|
||||
Reference in New Issue
Block a user