signalapp / Signal-Android

A private messenger for Android.
https://signal.org
GNU Affero General Public License v3.0
25.56k stars 6.13k forks source link

Error playing audio attachments recorded with external audio recorder. #8628

Closed joao456 closed 2 years ago

joao456 commented 5 years ago

Bug description

When trying to play audio files, recorded by the default recorder app of the device, sended as attachments using signal (using the in-app audio player), it fails to play and a toast message saying "Error playing audio!" is displayed.

Both sender and receiver ends cannot play the audio.

It happens also in group chats.

The recorder app used is the default LineageOS Recorder app -> https://review.lineageos.org/q/project:LineageOS%252Fandroid_packages_apps_Recorder

The app produces an .wav file.

I can play the audio by:

Obs: When trying to save the file using signal-desktop, tho, it prompts to save it as a .x-wav file. Saving the file with this extension makes it unable to be played using some audio players.

Steps to reproduce

Actual result: Audio received/sended do not play and an "Error playing audio!" toast message appears on the screen. Expected result: Audio should play when play button is pressed.

Device info

Device : motorola Moto E (condor) Android : 7.1.2 (LineageOS 14.1) Signal version: 4.33.5 Obs: running without google services

Link to debug log

https://debuglogs.org/02ae8971006f8ea52b3928e7368cdde36c7db94f4f11723ccd52e6895a919c19

greyson-signal commented 5 years ago

Sounds similar enough to #8620 that I think we should keep the discussion there

joao456 commented 5 years ago

Sounds similar enough to #8620 that I think we should keep the discussion there

I believe is a different issue because I have both.

This one is specific to attachments produced by an specific app; Other audio attachments are not affected and voice messages recorded by the app on the device also aren’t; both ends of the message cannot play the audio; the play button turns to pause and “instantly” returns to play; the audio has an specific format/extension.

In the https://github.com/signalapp/Signal-Android/issues/8620 one end of the message can play the audio (the sender); The play button turns to pause for ~3 seconds; the message is downloaded with an .attach extensions and have to be renamed as an .mp4 to be played.

I believe this one has to do with something happening locally on the device when sending the message and the https://github.com/signalapp/Signal-Android/issues/8620 one has to do with something happening after the message “leaves” the device. But if you believe that they are the same and have the same probable solution, it is your call…

greyson-signal commented 5 years ago

I see, I got confused by the title of "default recorder". I'll re-open and update the title.

clustor commented 5 years ago

I have the same problem. I have recorded a file using "Audio Recorder" app https://f-droid.org/en/packages/com.github.axet.audiorecorder/ and the file is in AAC format with extension m4a. I have sent this file from an Android device and the receiver, another Android device, is not able to play it.

I have downloaded the sent file using the Desktop app and I see that file is exactly same as the original but the extension is changed to mpeg from m4a. If the original file is "audiorecording.m4a" and the signal attachment filename is "signal-attachment-2019-03-26-072912.mpeg".

If I copy the m4a file with mpeg extension on Android, I am able to play mpeg file just fine with the default video player.

Not sure how signal plays the audio file.

ant0nwax commented 4 years ago

I exported a Song to 16 bit 44 Khz Stereo WAV with Cubase 10 in a DAW in 2020 and I have the same error. I exported a Song to 16 Bit 44 Khz Stereo WAV with Cubase 5 in a DAW in 2016 and I can play that WAV file. Maybe something changed on the WAVE header or Headers in general... I did not further investigate, but i could offer you both WAVE files for debugging, so you can investigate the headers in HEXEDITOR contact me if you would like to receive the Examples in PM

Mihahn commented 3 years ago

Same here, when I send a .wav I recorded using Cubase (or GarageBand) from my Mac to my friend's android phone the file gets corrupted on her phone. On my iPhone/Mac/iPad Signal can handle it just fine, the problem seems to be android only. Changing the wav to mp3 using ffmpeg fixes the problem, so it's definitely the wav format.

stale[bot] commented 2 years ago

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.