element-hq / riot-android

A glossy Matrix collaboration client for Android
Apache License 2.0
1.4k stars 394 forks source link

Audio messages #1237

Open dtygel opened 7 years ago

dtygel commented 7 years ago

This is a feature request: as in telegram, whatsapp and others, add a way for the users to send voice messages. Is it in the roadmap? Is there a way we can contribute to it?

ylecollen commented 7 years ago

The problem is not to implement it but we must have a common design/behaviour AND each platform must implement it.

eyallior commented 7 years ago

Push-to-talk voice messages https://github.com/vector-im/riot-web/issues/1358

Luraktinus commented 6 years ago

we have to close the duplicates

dtygel commented 6 years ago

Which of the issues could be the "official" one?

bmarty commented 6 years ago

This one (as it has the most number of upvotes). I've closed all the known duplicate

progserega commented 6 years ago

May be set "autoplay" options for incoming audio message (ptt) as options and by default is off? Because if you in bus and read conference in matrix and at this time anybody send ptt-record to conference - all people in bus - will hear this message.

Otherwise, if you go in car/bike and your friends also go in his cars/bikes and you create conference for hear your frends ptt-mesage - at this situation riot must play ptt-message always, even if app have not focus and display is off.

Result: for confidential ptt autoplay must be off by default in room, but may be set at six variants:

No autoplay ptt-message (default)
Autoplay ptt message when riot app is foreground (app have focus)
Always autoplay ptt message (and when display is off) - by 1 hour
Always autoplay ptt message (and when display is off) - by 2 hour
Always autoplay ptt message (and when display is off) - by 4 hour
Always autoplay ptt message (and when display is off) - forever (use with caution)

PS: The Ptt (push-to-talk ) feature is simply "autoplay" options for "audio messages" in room.

jnpf commented 5 years ago

Hi, I'm searching for a compatible voice recording app to the integrated feature. If I try to use the feature, riot tells me there is no app for that... =\

tonowoe commented 5 years ago

This feature would be awesome! Hopefully this will be implemented in the future.

moshpirit commented 5 years ago

Why is this issue closed?

ara4n commented 5 years ago

it’s not?

moshpirit commented 5 years ago

Sorry, I saw a reference to a closed issue and thought it was this one. Sorry for the inconvenience

progserega commented 5 years ago

Today I describe to user how he can record voice record in Riot:

  1. Press "attach button"
  2. Select in menu "Send voice"
  3. Select voice record app (press to it)
  4. Press key "record" in voice app - record voice.
  5. Press "stop" for stop record voice.
  6. Press "Ok" for select and send voice to riot.

Then user ask me: "Why? Why it is so hard?" :-)

I think more wanted simply one key "record voce" - press it - and voice recording, release - stop recording and send to room. More users want this features... Thank you!

progserega commented 5 years ago

The problem is not to implement it but we must have a common design/behaviour AND each platform must implement it.

Why it is problem?

  1. One button for record voice message in riot (in free ogg-vorbis format)
  2. Send it is as m.audio
  3. Add "preview" of m.audio ogg-vorbis in riot-android. (in web-riot it is already yet)

m.audio is already yet in protocol - it is simply add riot-android interface...

dtygel commented 5 years ago

m.audio is already yet in protocol - it is simply add riot-android interface...

Ok: is there an issue in riot-android for building this interface to listen to m.audio messages? Looks like this is the last step to implement this button (at least in riot-web)...

bmarty commented 5 years ago

I assume the correct implementation of this feature will not to use existing m.audio but rather creating a new m.audio.voicemessage type

progserega commented 5 years ago

I assume the correct implementation of this feature will not to use existing m.audio but rather creating a new m.audio.voicemessage type

This is more ideology cosmetic change, which stop implementation of voice-messaging feature. Because this change will request change API, Docs, support in all clients and etc. I don't see a fundamental difference between existing m.audio and new m.audio.voicemessage. In a both this situation client must show audio preview player (as in web-riot). May be only potential option "play incoming voice message automaticaly" is needed this new type of message. If we will want implement "Push to Talk" chat feature options in future. This is nice, but may be today create voice messaging simply over existing m.audio? This is will work today, but when in future we will need more featured using voice-messaging - we will can simply change type of sending messaging from m.audio to existing (at this future time) m.audio.voicemessage. I think we can not create all features immediately. That is may be do it step by step?

And second argument... :-) Android-riot today can not preview existing m.audio in chat-window. This is not comfortable. This feature would still need.

tuxayo commented 4 years ago

Workaround that I just tested on Riot Android:

So now, in a chat:

So the UX isn't great but it's decent

Listening to the message:

After analysis of few resulting ogg files with MediaInfo It's variable bitrate under 44 kb/s which seems quite light :) I remember trying in the past with the default recorder app of LineageOS and the bitrate was way too big to use it without being a terrible bandwidth and storage waste.

I hope that will help to start using voice message while waiting RiotX and Riot Web will get dev resources for this.

issue for RiotX: https://github.com/vector-im/riotX-android/issues/29 issue for Riot Web: https://github.com/vector-im/riot-web/issues/1358

sylph1o commented 4 years ago

Thanks for the detailed workaround, tuxayo!

I just tried it with eu.siacs.conversations.voicerecorder, and it feels slightly faster to me (just an overlay).

It uses a similar bitrate but with an AAC codec, whereas com.github.axet.audiorecorder uses Vorbis. It don’t know which one is better here. I would prefer Opus over any of them, it could have an even lower bitrate.

P.S.: In riot-web 1.5.12, I can play the audio message directly (no download, not external player).

tuxayo commented 4 years ago

Thanks, it's great the legacy Conversations voice recorder can work for this.

It's AAC LC, with constant bitrate of 49 kb/s.

P.S.: In riot-web 1.5.12, I can play the audio message directly (no download, not external player).

I see that too, Riot web indeed has support for inline player for .m4a with AAC. Whereas it's not the case for .ogg with Vorbis.

tuxayo commented 4 years ago

I see that too, Riot web indeed has support for inline player for .m4a with AAC. Whereas it's not the case for .ogg with Vorbis.

Here is a related issue for that: https://github.com/vector-im/riot-web/issues/7370

kcadmin-github commented 4 years ago

We as an IT-Administration Team would like to switch from Telegram to Element, but the audio message feature is a MUST-HAVE. Any info when it will be deployed in android-element-app?

abpin commented 3 years ago

Is anyone working on this feature already, same functionality as in WhatsApp? I can help if someone has already started, if not, I'll start working on it.

tuxayo commented 3 years ago

@kcadmin-github @abpin It's the wrong project (Riot legacy), head over here: https://github.com/vector-im/element-android/issues/29