Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Voice Broadcast option in a room #23282

Closed
19 tasks done
giomfo opened this issue Sep 14, 2022 · 1 comment
Closed
19 tasks done

Add support for Voice Broadcast option in a room #23282

giomfo opened this issue Sep 14, 2022 · 1 comment
Assignees
Labels
A-Voice-Messages A-VoIP O-Uncommon Most users are unlikely to come across this or unexpected workflow T-Enhancement

Comments

@giomfo
Copy link
Member

giomfo commented Sep 14, 2022

Your use case

What/Why would you like to do?

As a user I want to be able to send a voice broadcast to all users of a room, so that I can easily provide information by just talking. Compared to already existing voice messages it should be possible to listen to voice broadcast at the time they are being recorded. Think of this being a live-podcast over Matrix.

Some use-case scenarios for this feature can be to verbally provide updates, trainings, or talk to a large number of people.

How would you like to achieve it?

With the Voice Broadcast function, it should be possible to share longer audio messages in rooms with a short time delay.

  • Add a feature flag to implement this feature. This flag may be used later to enable it via the labs section.
  • Add in the room permission the voice broadcast option
  • Add in the build settings or config file:
    • a max voice broadcast length (240 minutes)
    • a voice broadcast chunk length (TBD)
  • Add “Voice broadcast“ to the room composer options, this option is available only if the end user is allowed to use it
  • There can be a maximum of one simultaneous audio stream per room.
  • The sending client generates individual voice messages of x minutes (configurable via Build Setting), which are sent almost immediately.
  • In case of bad network connections, the sending client saves messages locally and automatically sends them when the connection is restored pauses the recording to let the user resume it when the network is fixed.
  • When activating the recording, the user would have a PIP recorder widget (or a bubble widget) to control the record (stop/pause, audio input device selection…)
  • The sender gets a countdown of the remaining recording time is displayed.
  • Recording can be paused and resumed at any time.
  • During the recording, the other clients are using the same User profile still functional
  • On the receiver side you only see a widget in the timeline, which dynamically reloads incoming audio chunks and plays them without any user action without interruption (for the listener).
  • There are buttons for play, pause, +/- 30 seconds
  • There is a progress slider that can be used to "scroll".
  • The volume of the system is to be applied so that the user can also control it with the physical buttons
  • The paused position during playback must be preserved in the client, to continue playback at a later point in time.
  • The live stream must always be visible to the user as long as it is active.
  • There can be chat messages in the room of others parallel to this stream be sent.
  • A session that has already ended can also be listened to afterwards. People who didn't have time during the "live streaming".

Have you considered any alternatives?

No response

Additional context

Related to element-hq/element-meta#632
Design hand off: https://www.figma.com/file/5zlCPsSOJELBzIiQdHC2LV/Voice-Broadcasting

I'm live broadcasting:
image

I'm listening to a live broadcast, and decide to rewind:
image

@SimonBrandner SimonBrandner added A-VoIP A-Voice-Messages O-Uncommon Most users are unlikely to come across this or unexpected workflow labels Sep 15, 2022
@richvdh richvdh changed the title Add the Voice Broadcast option in the room functionalities Add support for Voice Broadcast option in a room Nov 21, 2022
@giomfo
Copy link
Member Author

giomfo commented Feb 8, 2023

All done in https://github.com/vector-im/element-web/releases/tag/v1.11.23-rc.1

@giomfo giomfo closed this as completed Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Voice-Messages A-VoIP O-Uncommon Most users are unlikely to come across this or unexpected workflow T-Enhancement
Projects
None yet
Development

No branches or pull requests

3 participants