Jump to content

Skype speaker fix


Guest Inopia

Recommended Posts

A lot of people were complaining about the Skype app sending sound to the loudspeaker. The Skype programmers were having the same problem that is described here. Basically they called AudioManager::setSpeakerphoneOn(false), but this fails (silently, and only on some devices) if you don't first set AudioManager::setMode(MODE_IN_CALL). Another example of random Android API horseshit.

Anyway, I did a quick baksmali/smali patch that seems to solve the problem, but I'm not sure if it breaks other functionality. Anyone care to test if it works for them?

http://www.multiupload.com/G2GU9CVUFJ

ps: this is completely untested, so if it breaks, destroys your phone, breaks into your house and steals your food, I'm not responsible

pps: this routes all audio to the internal speaker, including the ringing sound when someone is calling you!

ppps: I've submitted a bug report to Skype including information on how to fix it, so I'll just wait for them to sort it out the correct way.

Edited by Inopia
Link to comment
Share on other sites

Guest oh!dougal

Thank you! :P

Now, if you are still looking for challenges ... there's another popular question here - why can't ZTE's FMRadio play through anything other than the headset? (sure it needs the wire for its antenna, but it's sometimes nice to be able to play out through the speaker...)

Link to comment
Share on other sites

Guest oh!dougal
... I think I've routed the ringer sound to the internal speaker as well :P

Or rather, Skype have routed the ringtone to the same place as the call audio ... which doesn't seem terribly clever.

Surely there ought to be a "ring the phone" API call, which would do what a normal incoming call would do ... but likely Skype is doing everything as though it were playing 'Media' ...

Edited by oh!dougal
Link to comment
Share on other sites

Guest macrules
A lot of people were complaining about the Skype app sending sound to the loudspeaker. The Skype programmers were having the same problem that is described here. Basically they called AudioManager::setSpeakerphoneOn(false), but this fails (silently, and only on some devices) if you don't first set AudioManager::setMode(MODE_IN_CALL). Another example of random Android API horseshit.

Anyway, I did a quick baksmali/smali patch that seems to solve the problem, but I'm not sure if it breaks other functionality. Anyone care to test if it works for them?

http://www.multiupload.com/G2GU9CVUFJ

ps: this is completely untested, so if it breaks, destroys your phone, breaks into your house and steals your food, I'm not responsible

pps: this routes all audio to the internal speaker, including the ringing sound when someone is calling you!

ppps: I've submitted a bug report to Skype including information on how to fix it, so I'll just wait for them to sort it out the correct way.

Thank you so much for posting! Will try it for mom :P

Link to comment
Share on other sites

Guest Nitsson

Sounds good, but just so that I'm sure I understand the routing to the internal speaker you've done affects only the Skype app? Guess I need to delete the Marketplace-installed app, and manually install this.

Much appreciated.

Link to comment
Share on other sites

  • 2 weeks later...
Guest jim35
A lot of people were complaining about the Skype app sending sound to the loudspeaker. The Skype programmers were having the same problem that is described here. Basically they called AudioManager::setSpeakerphoneOn(false), but this fails (silently, and only on some devices) if you don't first set AudioManager::setMode(MODE_IN_CALL). Another example of random Android API horseshit.

Anyway, I did a quick baksmali/smali patch that seems to solve the problem, but I'm not sure if it breaks other functionality. Anyone care to test if it works for them?

http://www.multiupload.com/G2GU9CVUFJ

ps: this is completely untested, so if it breaks, destroys your phone, breaks into your house and steals your food, I'm not responsible

pps: this routes all audio to the internal speaker, including the ringing sound when someone is calling you!

ppps: I've submitted a bug report to Skype including information on how to fix it, so I'll just wait for them to sort it out the correct way.

Hi,

Is this routes ringing sound to the internal speaker, only if skype is running, and as I exit from skype, everything goes back to normal, OR is this overwrites the main settings too?

Thnx

Jim

Edited by jim35
Link to comment
Share on other sites

Guest saxen08

Ok i have tested this fix and this is what happens

If i make a call on skype all the sounds will be routed to the earpiece even after the call

but everything will be rerouted to normal if you recieve a regular call after the skype call or

making a normal call to someone.

An easy solution to this would be a shortcut on the launcher that resets the soundsettings somehow (The same as if you start a regular call)

and you have to press that button everytime you have been in a skype call. Everything will then be routed

to the right speaker (You will even get the skype incoming call signal from the loudspeaker)

Any bright solutions of this? Right now i make a random call and disconnect directly when started calling and this

seem to reset the soundsettings.

Or maybe its possible to decompile again and put a line for this too in the skypecode?

Link to comment
Share on other sites

  • 1 month later...
Guest DannyDanny

Thank you for a great fix.

It does use the ear speaker and it finally works like a phone. (screen doesnt turn off? arr just lower it before I make a call)

I can live with this until Skype releases a fix. (But I dont think they will)

The problem with every sound routed to the ear speaker is an easy fix as saxen08 mentioned that I can just make a fake test call to any random number

and hang up. (and its back to normal)

I dont know if this force sound routing thing is safe, but I guess there isnt a reason why it shoudnt be safe.

Great work

Link to comment
Share on other sites

Guest DannyDanny

Skype released a new update today but it still does not solve the exterior speaker issue.

I suggest you stick with this modified skype and wait until it can actually change.

This Skype is great. You can ACTUALLY use ear / exterior speaker button to function

and the screen can turn off.

Just remember to make a fake call to any number and hangup when you dont need skype :)

Link to comment
Share on other sites

Guest The Soup Thief
"Security update"

That'll be for the db permissions exploit

http://www.androidpolice.com/2011/04/14/ex...and-a-lot-more/

btw, what's with all these "skimlinks"? every time anyone says Sykpe it auto places a link, I hope modaco isn't implementing those annoying keyword link parsers.

I think they are - any chance to monetise those punters' geekery eh?

Let's try a few...

Skype

Google

Ebay

Microsoft

Samsung

Apple

Comet

B&Q

MFI

Boots

Poundland

Ryanair

edit - of those, only skyp* and eb*y signed up from the looks of it

Edited by The Soup Thief
Link to comment
Share on other sites

Guest Maz2011

It seems that this problem is actually an Android/Blade issue and has nothing to do with Skype as such. It also affects nearly all SIP type programmes.

Cyanogen have incorporated a fix that works, it seems, in the N41 build.

Link to comment
Share on other sites

Guest mouton

Maybe the best way is to write an application which can switch between the internal and external speaker.

I saw similar applications in some non-android samsung phones before. Iphone can also do this freely.

Link to comment
Share on other sites

Guest ponzer
Uploaded a new patched skype here - https://jira.skype.com/browse/JSA-81 - this routes only the in-call audio to the earpiece, so the ringtone etc. should continue to work. Speakerphone works too. Same disclaimer applies - works for me on my ZTE Blade (Orange San Francisco) but use at your own risk.

Thanks, works fine for me ! :)

Edited by ponzer
Link to comment
Share on other sites

Guest npgall

FYI this issue seems to be fixed in two new roms for ZTE Blade that I've now tried, so I probably won't be using my patched skype anymore. (others can continue using patched skype if you prefer of course, but personally I prefer to have this patched at OS-level instead of app-level).

I was using the FLB-Froyo rom, which suffers from this issue and requires skype to be patched, but Cyanogenmod 7.0.2 and (apparently also) Swedish Spring now include a patch at OS-level instead of app-level.

Definitely patched in Cyanogenmod 7.0.2 for ZTE Blade: http://code.google.com/p/cyanogenmod/issues/detail?id=2858

And from my own testing today the issue also /seems/ to be patched in Swedish Spring RLS5 (although I can't find any documentation to this effect).

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.