riot-android icon indicating copy to clipboard operation
riot-android copied to clipboard

Audio messages

Open dtygel opened this issue 7 years ago • 23 comments

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?

dtygel avatar May 26 '17 09:05 dtygel

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

ylecollen avatar May 29 '17 06:05 ylecollen

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

eyallior avatar May 29 '17 16:05 eyallior

we have to close the duplicates

Luraktinus avatar Aug 14 '18 07:08 Luraktinus

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

dtygel avatar Aug 27 '18 12:08 dtygel

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

bmarty avatar Aug 27 '18 13:08 bmarty

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.

progserega avatar Aug 28 '18 23:08 progserega

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... =\

jnpf avatar Oct 20 '18 07:10 jnpf

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

tonowoe avatar Dec 04 '18 09:12 tonowoe

Why is this issue closed?

moshpirit avatar Dec 18 '18 21:12 moshpirit

it’s not?

ara4n avatar Dec 18 '18 22:12 ara4n

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

moshpirit avatar Dec 18 '18 22:12 moshpirit

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 avatar Jan 26 '19 23:01 progserega

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...

progserega avatar Jan 27 '19 00:01 progserega

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)...

dtygel avatar Jan 30 '19 11:01 dtygel

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

bmarty avatar Feb 01 '19 20:02 bmarty

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.

progserega avatar Feb 02 '19 23:02 progserega

Workaround that I just tested on Riot Android:

  • enable voice messages: settings => labs => Send voice messages
  • install the libre app "Audio Recorder", I did it from F Droid, info : https://f-droid.org/en/packages/com.github.axet.audiorecorder/ . From the Playstore, searching "Audio Recorder axet" should work.

So now, in a chat:

  • add an attachment
  • send voice
  • open with Audio Recorder
  • recording starts automatically
  • when validated, it will be sent in Riot

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

Listening to the message:

  • in Riot Web (stable and develop) one must download/open with an external player. So quite terrible UX on Riot Web
  • in Riot Android, it's the same but Android immediately ask about which app to use and the default player is quick to open and will overlay on Riot without completely opening a new interface (no heavy UI to load and no animation to go to the player and come back to Riot). So on Android the UX isn't great but it's decent

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

tuxayo avatar Mar 19 '20 04:03 tuxayo

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).

sylph1o avatar Mar 19 '20 09:03 sylph1o

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 avatar Mar 20 '20 14:03 tuxayo

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

tuxayo avatar Mar 20 '20 14:03 tuxayo

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?

kcadmin-github avatar Aug 10 '20 08:08 kcadmin-github

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.

abpin avatar Sep 07 '20 12:09 abpin

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

tuxayo avatar Sep 09 '20 03:09 tuxayo