This application is a hotfix for a really annoying (and potentially unsafe!) bug in the Epic4G:
http://code.google.com/p/android/issues/detail?id=11372
http://forum.sdx-developers.com/epi...audio-routing-on-epic-4g/msg115990/#msg115990
The long and sort of it is that when anything is plugged into the 3.5mm headphone jack, the phone will only play call audio over that jack.
In order to route the audio through the earpiece, bluetooth or speakerphone, you must pull the plug out of the jack. This is at the very least annoying, and at the very worst potentially dangerous if, for example, you're driving.
How-To
Download the APK attached below for your android version.
Install like any other APK using adb or your favorite file manager.
What it does
This simple application allows you to pick the audio device to use for call audio to override this behavior, and can be changed on the fly.
All in-call audio will be routed to the device you specify when something is plugged into the 3.5mm headphone jack. If nothing is in the jack, the default behavior for the phone applies.
This also allows you to use the Speaker Phone when the headphone jack is occupied, even though the button on the call screen is disabled!
Your configuration should persist between reboots.
What it doesn't do
This app does not route any other type of audio. Your music, notifications, etc will still play over the headphone jack or phone speaker.
Again, this *only* affects in-call voice audio, and only when something is plugged into the headphone jack.
Notes
This app completely overrides the options on the call page! If you want to switch outputs during a call, you will have to do it from this app - your call will not be dropped when changing the output device.
In order to route the call audio properly, the system's mediaserver service must be restarted, however.
This means that any other audio you have playing when you apply the change will be disrupted, and related services may force close. For example, Pandora will skip to the next song. Other applications may not behave that well.
Disclaimer
This app modifies files in the /system partition, so use this at your own risk! I am not responsible for any problems that arise from this hotfix on your device!
This is currently for the EPIC4G *ONLY* - Do not use this on any other device. Please contact me if you have a different phone which experiences this bug and I will see if I can get it working for you as well.
This is *BETA* software, a work in progress, please post here if you experience any issues, but I cannot guarantee it will work for you!
ROM DEVs, feel free to bake this into your roms in whole or part, I encourage it as this provides a workaround for a safety issue, but please give credit if you use or derive from this application.
Special thanks to UberPinguin - his initiative, debugging, code-diving and testing helped make this happen every step of the way!
Many, many thanks to everyone in #samsung-epic for helping me test and work this out.
Be sure to download the APK for the right android version on your phone!
epicBT - v0.3.5 (Froyo)
* Fixed crash/reboot when applying settings in DK17 roms
epicBT - v0.3
* Layout cleanup when root is unavailable
epicBT - v0.2
* Requires root!
* Superuser compatible
* auto-remounts /system RW if necessary
* Sends call audio to wired device ( default ), speaker phone, or bluetooth
Sources
https://github.com/cicada/epicBT
If this works as described above I will be so f-ing happy. One of my biggest gripes, solved.
No sh#t! I was just about to start searching the Market for an app like this! Downloading now to test.
Thank you!
bigdbag said:
If this works as described above I will be so f-ing happy. One of my biggest gripes, solved.
Click to expand...
Click to collapse
I agree
updated OP with source link
First of all,...Thank you, Thank you, Thank you for working on this... This was one of my biggest gripes with this phone and I couldn't understand why the "geniuses" at Samsung/Sprint couldn't get this right.
I've done some extensive testing in my car for the Eclair version and wanted to share my results:
For the most part, the app does what it's supposed to...but I did notice that:
1) the "on the fly" feature doesn't work so well. That is, when changing from one mode to the other, I had to reboot the phone to get the new setting to take effect. This feature would be great with an app like Tasker, which could automatically open up the app and ask you which setting you want to use when a headset/aux jack is plugged in,...thus giving you the flexibility to use the best option depending on your situation. Is there a way to tweak the app to recognize the switch without rebooting by resetting something like the mediashare service?
2) For some reason, the mic volume (volume heard on the opposite end of call) on the bluetooth setting is lower when the headset/aux jack is plugged in. I'm not sure whether the regular phone mic, speaker phone mic, or the bluetooth mic is utilized in this setting, but the volume is definitely harder to hear on the other end than when the headset jack is unplugged. I would guess about 20-25% lower. I tested this effect during the call as well by plugging and unplugging the jack while counting 1 to 10 and it's the same. Is there away to increase the sensitivity of the bluetooth mic when the headset jack is plugged in?
Donation coming if you can get this working! Thanks again.
sinman02 said:
1) the "on the fly" feature doesn't work so well. That is, when changing from one mode to the other, I had to reboot the phone to get the new setting to take effect.
Click to expand...
Click to collapse
Strange, it works well for me - it takes a second to switch outputs while mediaserver is restarting, but never had to reboot. I'll look into this, may have accidentally tweaked something in the last build.
UberPinguin and I are still looking at the sources to find a better fix that works the way it's supposed to - the trouble seems to be that Phone.apk is actually selecting the 'correct' source and setting options appropriately, but the underlying OS isn't switching outputs. Restarting mediaserver was the only workaround I could find for this.
sinman02 said:
2) For some reason, the mic volume (volume heard on the opposite end of call) on the bluetooth setting is lower when the headset/aux jack is plugged in. I'm not sure whether the regular phone mic, speaker phone mic, or the bluetooth mic is utilized in this setting, but the volume is definitely harder to hear on the other end than when the headset jack is unplugged. I would guess about 20-25% lower. I tested this effect during the call as well by plugging and unplugging the jack while counting 1 to 10 and it's the same. Is there away to increase the sensitivity of the bluetooth mic when the headset jack is plugged in?
Click to expand...
Click to collapse
I hadn't noticed any volume issues but truthfully I haven't been using the BT often because of this bug - I've just been letting my calls go to VM instead of crashing my car Volume selection should be working properly so I'll see if I can add something to select volume as well.
To be clear on the MIC, input should always be the proper input for whichever mode you choose - phone MIC for speakerphone and BT mic for BT HP/HS.
If you're on stock then the phone mic should be used when your wired device doesn't have it's own, however this is broken in all of our custom community kernels - Wired Headset mode should only be used when you actually have a wired headset with a MIC of it's own if you're using one of these, otherwise the phone doesn't enable any MIC at all.
I should note, that all my tests were conducted on outgoing phone calls. I don't know if incoming calls are any different. I am using the Syndicate rom.
If you can get the bluetooth volume issue resolved, I'll likely leave it there, but it would be nice to be able to switch on the fly to speakerphone mode when bluetooth isn't handy.
Question: Does the froyo version have the same implementation?
Please keep up the good work!
Sent from my SPH-D700 using XDA App
sinman02 said:
Question: Does the froyo version have the same implementation?
Click to expand...
Click to collapse
Yes, the froyo version is the same - Samsung used a different asound.conf in froyo ( added in some interesting VOIP pcm ), so this is the only difference between versions currently.
cicada said:
This application is a hotfix for a really annoying (and potentially unsafe!) bug in the Epic4G:
The long and sort of it is that when anything is plugged into the 3.5mm headphone jack, the phone will only play call audio over that jack.
In order to route the audio through the earpiece, bluetooth or speakerphone, you must pull the plug out of the jack. This is at the very least annoying, and at the very worst potentially dangerous if, for example, you're driving.
Click to expand...
Click to collapse
...So this should work on for Sip/VOIP apps like Sipdroid, 3CX, and Fring? I managed to pick up 3CX and Sipdroid through my bluetooth headset but no mic...meaning the other end could not hear me... There aren't that many good sip/voip soft wares out there for the Android today.. I rated Fring the BEST but with no bluetooth support.
EDIT: Nevermind... I read the post again.. I don't think this will do the job other than support for the actual phone.. but it would be nice to have that option for sip/voip as well.
The SIP/VoIP stuff may work better in Froyo considering there are dedicated PCM devices listed in the asound.conf - however I've never used any of these applications, so this is pure speculation.
You're correct, this does only effect in-call phone audio, those applications would be handling (or in this case, not) the bluetooth audio routing directly. I've found lots of other similar quirks with BT on the Epic4G, such as the << and >> buttons on my A2DP headphones not working.
cicada said:
The SIP/VoIP stuff may work better in Froyo considering there are dedicated PCM devices listed in the asound.conf - however I've never used any of these applications, so this is pure speculation.
You're correct, this does only effect in-call phone audio, those applications would be handling (or in this case, not) the bluetooth audio routing directly. I've found lots of other similar quirks with BT on the Epic4G, such as the << and >> buttons on my A2DP headphones not working.
Click to expand...
Click to collapse
I am using Froyo the DJ29 Build on the epic... Dare I try?
****ing yea! Thanks, downloading now. This has been my biggest complaint with the phone
Sent from my SPH-D700 using XDA App
Hell Yea! You rock! I Threw out a fairly long search sentence in google and actually found your post here. No sooner did I install and set it up that my phone rang while plugged into the car audio and FINALLY I can use my friggin BT headset without yelling hold on hold on I gotta unplug the stereo cable. This has really peeved me off since I got the phone. Now what I don't get is why this obvious flaw has been ignored by Samsung and Sprint. Nice job on making it work like it should. BTW running stock 2.1 with root. No bugs so far.
THANK GOD. someone fixed this. bugged me so much in the car when i'm receiving a call. will report any bugs.
bump, updated to fix crash in DK17 based roms
cicada said:
I hadn't noticed any volume issues but truthfully I haven't been using the BT often because of this bug - I've just been letting my calls go to VM instead of crashing my car Volume selection should be working properly so I'll see if I can add something to select volume as well.
To be clear on the MIC, input should always be the proper input for whichever mode you choose - phone MIC for speakerphone and BT mic for BT HP/HS.
If you're on stock then the phone mic should be used when your wired device doesn't have it's own, however this is broken in all of our custom community kernels - Wired Headset mode should only be used when you actually have a wired headset with a MIC of it's own if you're using one of these, otherwise the phone doesn't enable any MIC at all.
Click to expand...
Click to collapse
As others, I'm very grateful for this fix. After trying it out, if it works for me, donation on the way.
Regarding the MIC: My experience, all the way back to pure stock (IIRC) is that there is no MIC at all when a two-channel, stereo plug is inserted (headphones, cassette adapter, etc.). Every time I've been driving, listening to something via the headset jack, when a call comes in I can hear the other party, but they can't hear me at all until I unplug from the jack. So, even though there was no mic plugged in and the device was correctly sending 2-channel audio out through the jack (usually to a cass adapter, so I can listen via my car stereo), but doesn't "do the right thing" with the mic, even though the hardware and drivers are capable of detecting the absence of the mic.
It should, of course, default to the BT mic if there is a BT connection, or the built-in mic otherwise. For some reason this simple flow-diagram logic eludes Samsung.
So I got my first experience with this today...worked great. I was streaming Pandora, phone call came in, music was paused and I answered the call. Once I finished the call, the music continued playing. Minor detail, but since I was on WiFi, is there anyway that the music could have kept on playing while I was still on the call for the sake of my guys who were still working while I was taking the call? It's great that the music paused and resumed by itself, but it would have been cooler to have it keep going while I was on the call.
m5james said:
.. is there anyway that the music could have kept on playing while I was still on the call .. ?
Click to expand...
Click to collapse
Unfortunately Pandora's phone-state listeners control that, it'd have to be modified or their devs would have to add options for it. Would be cool though, I agree
I've got a hacked version of Pandora that allows unlimited skips, I'll have to ask the guy who did it to see if they can tweak that as well. Come to think of it, it'd be nice to have it keep going for the times I'm driving down the road as well so whoevers in the car doesn't have to sit there and listen to me blah blah blah.
so hey i just got some "rocketfish" headphones.
i have them charged and they are working perfect with my ipad..
but when i play music on my phone thru them or just tap thru the menu to go somewhere it skips.playing music it skips 2wice every second. and when i tap it takes a second to respond and echos like. could it be the rom? which im using MIUI currently. but i have no idea. if anyone has any suggestions PLEASE - let me knw, and how to fix it
MIUI and CM7 both have the same partially working bluetooth issue, there are no ETA on when it will get fixed. If you want to use your headset, then you will need to flash a samsung based rom.
endine said:
MIUI and CM7 both have the same partially working bluetooth issue, there are no ETA on when it will get fixed. If you want to use your headset, then you will need to flash a samsung based rom.
Click to expand...
Click to collapse
Oh OK. Thanks alot. So any Bluetooth headset will skip to playing music with this?
Sent from my SGH-I997 using xda premium
anything that uses bluetooth; car, headset, speakers, ear peice, ect...
It is a pain there are some roms I would love to flash but, I cant due w/o bluetooth audio its the only stereo for my car.
Selutha said:
anything that uses bluetooth; car, headset, speakers, ear peice, ect...
It is a pain there are some roms I would love to flash but, I cant due w/o bluetooth audio its the only stereo for my car.
Click to expand...
Click to collapse
Yea it is. I flashed the doctors rom yesterday. It was good. But I like miui rom better because it's more customizable. And it works with volume + the one that boosts the main speaker. But anyway thanks. I flashed the latest version of the rom. Hopefully. It'll fix the bt issue.
Hi everyone
I have a HTC Desire S with CyanogenMod 7.1 Stable and ClockworkMod as recovery. Everything is great except for my stock htc desire s headset.
When I insert the headset the headset is registered (showing a small icon with headset+mic) but the microphone is not working. It is not working in calls and not working in other apps (for example Sound Recorder which comes with CGM). The internal microphone in the telephone however remains active during calls. The microphone is working hardware wise, I use the headset with my laptop.
I am aware of this topic: http://forum.cyanogenmod.com/topic/...headset microphone__fromsearch__1#entry237827
But I have a different phone and I am already using CGM 7.1 and just using 7.1 hasn't fixed my problem
Are anyone aware of any fixes / workarounds for this? Maybe some nightly builds which fixes it or similar?
Side note:
It also turns out that only one earplug is working (like mono sound) when using the headset in a call. Both works perfectly when using the Music-app wich comes with CGM.
Best regards
Wuhtzu
Could it be that the htc desire s stock headset uses a proprietary driver only included with htc sense or similar?
Best regards
Wuhtzu
I have same problem with u dude, but sometimes headset n mic work fine. I don't have any idea 4 that.
If that happened I just reboot my desire s n hope the problem is gone.
Sorry 4 my bad english
Sent from my HTC Desire S using XDA App
this thing involves alot of confusion, since also i have cm7 and when i insert the stock earphones it appears as regular earphones with no mic icon but it does work though i think
XKanoX said:
this thing involves alot of confusion, since also i have cm7 and when i insert the stock earphones it appears as regular earphones with no mic icon but it does work though i think
Click to expand...
Click to collapse
Could you be persuaded to try and report the result back? Plug in the stock headset with mic, note which icon is displayed (earphones or headset), try the headset in an app (Sound Recorder for example) and try the headset in a phone call.
im sorry for not being able to try now, but as i recall it works fine, just the icon that appears is for earphones with no mic, although i have the stock headset plugged in , but when i reboot with the headset plugged in the icon displayed is the one for a headset (with mic icon)
probably just a rom issue, not a big deal since the mic works
The problem persisted for me with the Cyanogenmod 7.1. I however never tried to reflash 7.1, which some people claimed would fix the problem. So that I will never know for sure.
I do however know that CGM 7.2 RC1 is here now and that upon first boot after 7.2 flashing my stock headset works as expected.
The icons ect. are the same as described vigorously in the original post. Only difference is that now the microphone actually works.
Thumbs up to 7.2 and the CGM team!
SOLVED for me!
Not sure if it is the same issue, as sometimes when I plug the headset only the headphones icon appears (the one without a mic icon) and sometimes the headset icon appears (the icon WITH a mic) and the mic works.
IT IS SOLVED now! turned out that when I plug the headset socket SLOWLY the mic DOES NOT WORK, but when I plug it FAST ENOUGH the mic works perfectly and the headset icon appears.
Hope this would help you out
hamidoo said:
Not sure if it is the same issue, as sometimes when I plug the headset only the headphones icon appears (the one without a mic icon) and sometimes the headset icon appears (the icon WITH a mic) and the mic works.
IT IS SOLVED now! turned out that when I plug the headset socket SLOWLY the mic DOES NOT WORK, but when I plug it FAST ENOUGH the mic works perfectly and the headset icon appears.
Hope this would help you out
Click to expand...
Click to collapse
Yeah das cool mane
Headphone usage
I've noticed this too on several new roms jelly time and aokp jellybean rom ports
Small question for the pp that have been playing with the ics rom. have any of u guys played with the bluetooth options. just wondering if they fixed the ability to call from the bt (press button on bt say call john and have the phone call). i have looked up what i can but have not seen if the new ics takes care of it. by the way i am using the blueant q2. i have also tried alot of third party apps none work for starting the call from the bt.
Also i am on stock rom and non rooted
anyone
Anyone with the ICS leak have trouble with the bt. Or do flashing roms fix that issue to begin with if so i probably will root and flash anyway.
gargoyle_48770 said:
Anyone with the ICS leak have trouble with the bt. Or do flashing roms fix that issue to begin with if so i probably will root and flash anyway.
Click to expand...
Click to collapse
I have mhx's full bloat ROM ICS. Bluetooth works fine. Streaming music almost all the time to my stereo.
Re the voice dialing, I think you are talking about a hands-free bluetooth headset. That works fine as long as your headset supports it.
Good Luck!
thanks
yes i was talking about the bt voice dialing. the ability to click the bt and have the phone respond a lot of pp have been having trouble with it on stock ROM. the phone is really picky, and doesn't work with a lot of bt's. i have the blueant q2 which is a good bt but won't start the call from the bt. I figure when ics comes out and if they don't have if fixed by then was just gonna root and see if the roms out there have fixes
gargoyle_48770 said:
yes i was talking about the bt voice dialing. the ability to click the bt and have the phone respond a lot of pp have been having trouble with it on stock ROM. the phone is really picky, and doesn't work with a lot of bt's. i have the blueant q2 which is a good bt but won't start the call from the bt. I figure when ics comes out and if they don't have if fixed by then was just gonna root and see if the roms out there have fixes
Click to expand...
Click to collapse
Sadly, not many custom ROMs concentrate on bluetooth.
Actually, even with my phone and setup, bluetooth requires a little fidgeting. It can lose connection occassionly. BUT it picks up a whole lot of devices with ease....
Dear all,
i was searching the forums for similar threads already, but none are specific enough to my special problem :
Since CM 10.2 started to make unified builds for all MOTOROLA devices, i am suffering from serious problems on my XT897. I can connect and pair any BT device fine, but during using it all of a sudden bluetooth will switch from external BT speaker to the internal speaker of the phone, and this can't be switched back anymore.
In the recent CM 11 versions it will also sometimes not pair with the hands-free if i enter the car and have BT activated in the phone, i have to deactivate first in order to have it paired correctly, but this is acceptable to me.
I was using the last nightly built specifically for the XT897 for a long time still for exactly this reason, i need my phone for the job and it is a big problem if a customer calls me in the car with my hands-free, and all of a sudden the conversation is terminated (well, i can still hear the other guy on the speaker of my XT897, but that doesn't help while driving).
Is it possible that the BT modules used in all newer CM builds are sub-optimal for the XT897 ? If so, could anybody consider reverting back to the old BT module for the JBBL builds and/or the XT897 ?
I'm fighting with BT issues also with 4.4 roms (also previous version).
I have random cases where the other party either can't hear me, or I'm really quiet. They sound fine to me though.
Sometimes BT audio cuts out during a call, or the phone won't transfer the call to BT despite being paired. Tried multiple different headsets.
Would be nice to have it work like it should, I also need BT for work.
Sent from my PHOTON Q using XDA Free mobile app
SOLVED: now running a stripped down 'stock' JB rom, with xposed for a few necessities.
No more BT call etc issues. Let me know if you want details.
Sent from my XT897 using XDA Free mobile app