signalapp / Signal-iOS

A private messenger for iOS.
https://signal.org
GNU Affero General Public License v3.0
10.82k stars 3.04k forks source link

Volume is not automatically set to speaker on Video call #5041

Closed ZagButNoZig closed 3 years ago

ZagButNoZig commented 3 years ago

Bug description

If you are in a video call you have to disable your camera in order to toggle the Speaker setting and since it doesn't save that setting you have to disable your camera to enable speaker and the reenable the camera which is not very intuitive!

Steps to reproduce

Actual result: See Description

Expected result: See Description

Screenshots

Device info

Device: iPhone 11

iOS version: Latest

Signal version: Latest

Link to debug log

alvv-z commented 3 years ago

I'm also experiencing this, but it seems to only happen on a video call Android -> iOS. iOS -> iOS works properly for me, as does iOS -> Android.

ZagButNoZig commented 3 years ago

The issue is more that you can not toggle the speaker setting while your video is enabled as video replaces the volume button.

locksec commented 3 years ago

I also have this issue on iOS. For me I experience this as a receiver of a call, as sound is only heard through the earpiece not external speaker. The caller doesn't have the issue. I cannot enable speaker without disabling the camera first.

h4knet commented 3 years ago

I've made some tests with a friend (iOS to iOS) and we have the same issue.

When someone receives a video call; the sound will be on the internal speaker (near the ear) on every call by default. The workaround for the receiver of the call is to mute, then unmute his microphone.

We have this issue since a long time; I could provide more details of needed.

ZagButNoZig commented 3 years ago

I've made some tests with a friend (iOS to iOS) and we have the same issue.

When someone receives a video call; the sound will be on the internal speaker (near the ear) on every call by default. The workaround for the receiver of the call is to mute, then unmute his microphone.

We have this issue since a long time; I could provide more details of needed.

Same here

kofl91 commented 3 years ago

Having the same issue and its quite annoying. Gonna look for the code to fix this. Having the ear on the camera during a video call just does not make sense. Also the loudspeaker button is somewhat hidden. You first have to turn off the camera and then turn on loudspeaker and turn on camera again. Not userfriendly at all. But hey, Opensource lets me change this myself :P

h4knet commented 3 years ago

It would be great! I’ve the issue too with Android users calls. It’s kinda weird this bug is not getting more attention.

ZagButNoZig commented 3 years ago

I'm gonna ping a few people who seem to work on the 'Calls' part of the signal app. To sum up the bug : The volume is not automatically set to loud speaker in video calls when calling Android users. Its also not intuitive to enabled loud speaker, as you have to disable the camera in order to enable loud speaker.

@Imperiopolis-Signal @charlesmchen-signal @jrose-signal @michelle-signal

balupton commented 3 years ago

My partner and I also have this issue ever since moving to Signal, and we video call everyday with Signal.

The way I solve it is once I've answered a video call, I then swipe into iOS Control Center (on my iPhone 11 this is done by swiping down from the top right), tapping the airplay icon on the top right of the audio controls, then selecting Speaker instead of iPhone.

aludvik commented 3 years ago

I'm also having this issue every day. I might try to look into fixing it if no one else is yet.

ZagButNoZig commented 3 years ago

@aludvik I don't think anyone is working on it

riyapenn-signal commented 3 years ago

This is being looked into.

Current work around for the person who notices low volume/the wrong speaker selected

benschg commented 3 years ago

Same issue seen.

aludvik commented 3 years ago

Got stuck on #5016 while setting up the build environment. Tried following the instructions in https://github.com/signalapp/Signal-iOS/blob/master/BUILDING.md and https://community.signalusers.org/t/setting-up-signal-ios-development-env/32883/3 but I think I am missing something.

w3sip commented 3 years ago

Same issue here.

ZagButNoZig commented 3 years ago

@riyapenn-signal any updates?

riyapenn-signal commented 3 years ago

Still being looked into.

ZagButNoZig commented 3 years ago

From just quickly browsing through the code it seems that either this function (https://github.com/signalapp/Signal-iOS/blob/a817c0bf296f01af262dd33b1944ed1df79ad145/Signal/src/Calls/CallAudioService.swift#L169) isn't being called or doesn't behave the way it should.

riyapenn-signal commented 3 years ago

This is expected to be resolved in v5.20.0 and later. 5.20.1 was made available on Monday. Write back if it's still an issue after updating.

ZagButNoZig commented 3 years ago

Seems to be fixed 🥳.

Tested both Android calling IOS and the other way around.