Probably an oddly worded question, but can't really figure out the proper way to ask since I'm not a programmer.
Something that has bugged me about the atrix that I miss from my nexus one is the headset controls. The N1 wired headset controls were perfect. Single click for music player, double for skip, and single for phone answer (even if music was playing). Nowhere near that with the atrix.
The default action is to call up a voice search tool (either vlingo or the built in one). There are programs to circumvent this, but they don't work as smoothly or are a little fidgety.
I've used alogcat to see what the button press calls and it seems to go to Voice_Command regardless of whether I've frozen the voice command apps with TiBackup or not (unless I'm missing one, but I've frozen all voice search apps I noticed).
Is there any way to change the default intent action from voice_command to media_button? Is this a kernel issue (have no idea what's in the kernel)?
Yaotl said:
Probably an oddly worded question, but can't really figure out the proper way to ask since I'm not a programmer.
Something that has bugged me about the atrix that I miss from my nexus one is the headset controls. The N1 wired headset controls were perfect. Single click for music player, double for skip, and single for phone answer (even if music was playing). Nowhere near that with the atrix.
The default action is to call up a voice search tool (either vlingo or the built in one). There are programs to circumvent this, but they don't work as smoothly or are a little fidgety.
I've used alogcat to see what the button press calls and it seems to go to Voice_Command regardless of whether I've frozen the voice command apps with TiBackup or not (unless I'm missing one, but I've frozen all voice search apps I noticed).
Is there any way to change the default intent action from voice_command to media_button? Is this a kernel issue (have no idea what's in the kernel)?
Click to expand...
Click to collapse
this would not be a kernal issue. this is just a default setting of the phone, i dont believe that there is any way to change this. there is a thread showing a list of all the safe things to freeze. i would look over that and see if you missed one
Related
HTC's Audio Manager is crap. To add insult to injury it takes over AVRCP controls such that no other application can use them. On an HTC Hero try the following - download and install some other audio player. For example, Google Listen for podcasts or TuneWiki or BeyondPOD. Next connect a AVRCP capible Bluetooth headset like a Sony Ericson HBH-DS980. Press play on the head set and insure that play plays music in the HTC Audio Manager (IOW that Music thingy on the HTC Hero). Insure that Play/Pause on the headset plays or pauses the audio program.
Now start Google Listen (or TuneWiki, or whatever) and play some audio material. Now press Play/Pause on the headset again. You'll see that you'll have two programs playing instead of one. IOW the AVRCP Play/Pause button controls only the HTC Audio Manager.
Therefore I'd like to turn off/uninstall/disable/kill the AVRCP stealing HTC Audio Manager program.
HTC did this same stupid thing on my HTC Touch running WinMo. However a company called Conduit who makes PocketPlayer figured out how to wrestle away AVRCP control from the HTC Audio Manager (and I was able to use a program to disable the Music tab where the HTC Audio Manager lived). So surely there's a programmatic way to accomplish this at least on WinMo - surely there should be a way to disable this on Android! Anybody know of any solutions? This is driving me nuts!
Anybody?!?
Note I figured out that I can root my phone then remove /system/app/HtcMusic.apx and HtcMusic.odex and the HTC Music thing is disabled. The widget is still on the home screen but it fails to start the player stating it's not there. Unfortunately all control of AVRCP is gone too!
Seems to me I just need to install the standard driver for AVRCP. Anybody know anything about that?
defaria said:
Anybody?!?
Note I figured out that I can root my phone then remove /system/app/HtcMusic.apx and HtcMusic.odex and the HTC Music thing is disabled. The widget is still on the home screen but it fails to start the player stating it's not there. Unfortunately all control of AVRCP is gone too!
Seems to me I just need to install the standard driver for AVRCP. Anybody know anything about that?
Click to expand...
Click to collapse
This may not be the best solution, and there's probably someone who can answer the question better than I can... but you could always try a non-HTC ROM for the Hero, aka a Vanilla Android ROM.
Yes, I would like a 1.6 or 2.x version of Android. Do you know where I can get one for a Sprout CDMA based Hero? Also I'd like to have the original Sprint ROM so I can flash back if required. Although I like the HTC Sense stuff i'd give that up of I cam fix this HTC Audio Manager crap. Still an HTC Hero ROM with Sense but minus the HTC Audio Manager bug would be very useful to many.
I had the same problem. So I debugged a little bit and found out the following:
The problem:
Normally an Android device should broadcast a "MEDIA_BUTTON" action when the AVRCP buttons on the bluetooth headset get pressed so that applications like music player can react on these events. It seems that HTC decided to ignore this and uses some other (non-standard) way of doing this on the HTC Hero (maybe on other phones too, I don't know).
My workaround:
I found out that at least l can see the button press events in the device logs. So I implemented a workaround application for myself, which simply monitors these logs. When it finds one of these AVRCP messages it broadcasts the "MEDIA_BUTTON" event which normally the platform should send. I know, this is an ugly way of doing this (because it needs a running service, monitoring the logs) but currently I see no other way.
This enables other applications to react on the headset buttons!
You still need to disable or remove the HTC music app or both applications will react on the buttons! I simply deleted it from my Hero (see instruction below).
As I saw here today that others might be interested in this workaround too, I published my app in the market a few moments ago. It's named "Headset Button Fix".
I cannot guarantee that it works for you, because I had only my headset (Nokia BH 503) for testing and I am not sure if the log messages are the same for other headsets. Just give it a try.
And finally, here the instructions how I removed the HTC music player from my (rooted) HTC Hero:
# Make the phone's filesystem read/writable:
> adb remount
# copy the HTC Music app in the current directory
# (for backup, if you want to reinstall it later)
> adb pull /system/app/HtcMusic.apk ./
# Delete the HTC music app on the phone
> adb shell rm /system/app/HtcMusic.apk
# Restart your phone afterwards.
Hope I could help someone with this..
johnny
Short update:
I found a much more elegant way to receive the headset button press events. Now my application directly receives the AVRCP broadcast intents from Android and re-broadcasts it correctly as MEDIA_BUTTON events for other music players.
So this solution is not ugly anymore (of course, working AVRCP on stock Hero would be the best, but now I can live with it).
I published this new version 2.0 in the market. Search for "Headset Button Fix"
As it does not need logcatting anymore, it needs far less resources!!
(You still have to get rid of the HTC music player. I'm afraid there is no way to prevent it from also start playing, except uninstalling it.)
So long..
Enjoy it.
Will try this later
i have a Sony audiocar with bluetooth AD2P and was wandering the same thing
ok
don't work with my audio car (sony mex-bt2500 )
Hmm.. sorry to hear this. So it seems not to work with every headset..
Hi again!
I quickly wrote a simple debug application which registers a receiver for the same events and simply prints them out. When you look at the screenshot you see how it looks like when I press buttons on my headset.
You could try this with your car system. If don't see anything in the output, then my workaround will not work for you. If you just see different command strings (in the EXTRA_FIELD_OP) then I could adapt my application.
Let me know what you get..
john
P.S.: You have to rename the attachement "DebugAVRCP.zip" to "DebugAVRCP.apk" as the forum seems not to allow .apk attachements.
My bad
its working
but i had to change my player : MortPlayer for Meridian (which have an option to activate Headset Buttons
it works great
but, is it possible to add an option to your app to automaticaliy run it and enable it when we activate bluetooth??
Thanks.
I have a lot of work at the moment, but I also was thinking about this. I will continue working on this next weekend.
regards,
john
As the OP of this thread I was anxious to try this out - but I had been in the process of moving so I'm only now getting back to this. Alas it didn't work for me. Yes I can remove the HtcMusic.apk and I have installed the Headset Button Fix. But pushing play on my headset does not stop or start the player I probably will be using most - Google Listen. You see I listen to podcasts most often and Google Listen's pretty good. It's also free and in the market place so could you download it and try it?
Also, what "player" are you using that works?
As for headset I use the Sony Ericson HBH-DS980. I love 'em! They work very well and are quite convenient. I fail to see how they would be different than any other Bluetooth device. I mean isn't an AVRCP pause control the same for all Bluetooth devices?!?
Other questions:
. Removing HtcMusic.apk removes the HTC Audio Manager music thingy, but you should probably remove that HTC Music widget (com.htc.MusicWidget.apk) too.
. As an installer, couldn't you rename HtcMusic.apk -> HtcMusic.apk.save and com.htc.Music.Widget.apk -> com.htc.Music.Widget.apk.save on install and rename them back on uninstall?
. It would be nice if this could be set up to auto start - and perhaps get rid of the little icon for those of us who would like it to always be running in the background
I would like to work with you - perhaps offline - to get this working for me and all other HTC Hero owners who might have a Bluetooth headset and want to use Google Listen, etc. You can contact me at [email protected].
This just in - I installed MortPlayer to pick a music player to test with. It works! AVRCP works with MortPlayer - just doesn't work with Google Listen! Wonderful! Who do I complain to now? Is it possible for us to debug this?
hi!
was having all the same problems (but with mixzing, I do not know Listen). This nice app makes me happy again about having bought a bluetooth headset!
@uninstall/rename:
AFAIK it's not possible for an application to rename/uninstall other applications on install. Additionally the HTC player is not installed in the "normal" app area, but under /system/ (that's the reason why you cannot uninstall it the standard way).
So I assume there will be no easier option than doing this as root via adb.
and @icon:
on my hero I can deactivate it in the preferences
and yes: autostart on headset connect would be nice!
Ok, tried today with Google Listen:
Seems to work partly (while having Headset Button Fix running). It does not react on the Play/pause button, but "Stop", "Next Track", "Previous Track" seem to work for me (while listening).
As far as I understand this is an issue of Listen but I am not sure about this. What they definitly did not implement is to react on AVRCP when the app is not started yet (some music player do start up then). To do this the app would have to register a BroadcastReceiver via its Manifest.xml file which it doesn't.
Maybe somebody could test the Play/Pause behaviour on a different phone (not a Hero), where AVRCP works normally. If then the behaviour is the same, then probably the Listen app is to blame.
hope that helps..
Pause/Play is all I really want. My Bluetooth headset doesn't have a Stop button and Stop would be the wrong thing to do as it would loss my place in the track. I cannot for the life of me understand why this is so difficult nor why one would implement Stop/Next/Prev but not Play/Pause!!! Makes no sense.
Then again I still haven't figured out why Google Listen seems to be behind WRT podcast feeds. For example, I use Banshee on my Linux box. I've subscribed to, for example, Security Now. Banshee shows and has downloaded the latest episode. But Google Listen? Just has a refresh menu selection. Select that and it thinks for a while but no new Security Now episode. Why does Banshee know about it but not Google Listen? Aren't they both going to the same source RSS feed? Shouldn't they both recognize there's a new episode?!?
Who do I contact exactly to submit bugs/etc. for Google Listen?....
Ah here's the link: http://listen.googlelabs.com
Note they say:
Can I use my Bluetooth headset?
Definitely. In fact, we love using Listen with wireless headsets. Using a headset with A2DP capability, you can get you audio content right in your ear, and often use the headset controls as well.
Click to expand...
Click to collapse
Note the use of the term often! Ugh!
Guess it's off to their forums...
Anybody know of a good podcatcher for Android that works with AVRCP?
(a) solution for audio manager problem..
A solution (I know, not the beauty price) to solve the problem of parallel controlling audio manager and music player (in my case museek), w/o rooting my fone, and deleting audio manager:
I've recorded a nice 3 minute piece of SILENCE with recorder, named it SILENCE, and started audio manager with playlist 'my records' (only containing before mentioned silence recording). Following, start Headset Button Fix (great program!), and Museek; result: although headset still commands audio manager aswell, it only skips/ replays/ forwards the silence recording, and my music on Museek is OK, replay-able, forward-able.. I knows it's a noobie's solution; but it works! (for folks, who like me, don't want to root their Hero)
johnny_z said:
I had the same problem. So I debugged a little bit and found out the following:
The problem:
Normally an Android device should broadcast a "MEDIA_BUTTON" action when the AVRCP buttons on the bluetooth headset get pressed so that applications like music player can react on these events. It seems that HTC decided to ignore this and uses some other (non-standard) way of doing this on the HTC Hero (maybe on other phones too, I don't know).
My workaround:
I found out that at least l can see the button press events in the device logs. So I implemented a workaround application for myself, which simply monitors these logs. When it finds one of these AVRCP messages it broadcasts the "MEDIA_BUTTON" event which normally the platform should send. I know, this is an ugly way of doing this (because it needs a running service, monitoring the logs) but currently I see no other way.
This enables other applications to react on the headset buttons!
You still need to disable or remove the HTC music app or both applications will react on the buttons! I simply deleted it from my Hero (see instruction below).
As I saw here today that others might be interested in this workaround too, I published my app in the market a few moments ago. It's named "Headset Button Fix".
I cannot guarantee that it works for you, because I had only my headset (Nokia BH 503) for testing and I am not sure if the log messages are the same for other headsets. Just give it a try.
And finally, here the instructions how I removed the HTC music player from my (rooted) HTC Hero:
# Make the phone's filesystem read/writable:
> adb remount
# copy the HTC Music app in the current directory
# (for backup, if you want to reinstall it later)
> adb pull /system/app/HtcMusic.apk ./
# Delete the HTC music app on the phone
> adb shell rm /system/app/HtcMusic.apk
# Restart your phone afterwards.
Hope I could help someone with this..
johnny
Click to expand...
Click to collapse
I guess at some point I need to learn this ****! I have been trying for the last 2 days to do this and don't know how to go about it!
I am rooted, got fresh, and gumbo going, so could some one help me out with this!
On my bluetooth earpiece, tapping the button on it brings up the music player instead of voice dialing. Is there any way to fix/override this behavior (yes, I am rooted)?
thats weird cuz when i press the pause button on my ipod headphones it brings up dialer lol. i think htc got something backwards...
In my case it did the same thing on my old Env3, but I was hoping that there was some way to configure it on the Thunderbolt (even if it requires root).
It is setup for multi button-multi function not single,not sure how to change it on the custom roms but htc tech support will walk you thru it
Posted from my Nokia V560
Hello everyone. I have the skullcandy FMJ headphones but when i double click the inline control to skip track, it also calls back the most recent dialed number simultaneously. Does anyone know of any way to fix this? Preferably a way to disable the callback function?
download headset blocker from the market and you'll be good to go.
Thanks for your help, but I'm not looking for something to completely disable my headset as I'm not really getting any phantom calls, rather I need something to get around activating callback and next track at the same time.
KhaosX said:
Thanks for your help, but I'm not looking for something to completely disable my headset as I'm not really getting any phantom calls, rather I need something to get around activating callback and next track at the same time.
Click to expand...
Click to collapse
What you want is actually Headset Button Controller, it'll allow you to change the stock behavior for double click plus it adds triple click, click and hold, and several other functions (or not, your choice). It's like $2-3 on the Market and there's a trial version I think. I use it with my MEElec M9P and it works perfectly. I'm surprised the app isn't more widely known since this is something manufacturers rarely get right on Android. Oh and it'll work with the stock music player and/or other players of your choosing.
If that's too steep (really?) there's a couple free music players that let you alter this behavior within the player only, I believe Winamp or dbPowerAmp do that, not sure. I like the stock player and it's integrated lock screen controls.
Impulses said:
What you want is actually Headset Button Controller, it'll allow you to change the stock behavior for double click plus it adds triple click, click and hold, and several other functions (or not, your choice). It's like $2-3 on the Market and there's a trial version I think. I use it with my MEElec M9P and it works perfectly. I'm surprised the app isn't more widely known since this is something manufacturers rarely get right on Android. Oh and it'll work with the stock music player and/or other players of your choosing.
If that's too steep (really?) there's a couple free music players that let you alter this behavior within the player only, I believe Winamp or dbPowerAmp do that, not sure. I like the stock player and it's integrated lock screen controls.
Click to expand...
Click to collapse
I use Headset Button Controller with my Sennheiser CX680i earbuds and it works great to control the button functions. You can even have it open an app upon cable insertion or preset volume etc. Great app.
Swyped using 2 cores and 3 Ds
Thats exactly what I was looking for Thanks!
Anyone using the razr headset with the phone? everytime i workout with this headset i feel like banging my phone on the blardy wall..
For some strange reason it automatically dials my recent calls. I think its something to do with the microphone..when i pant or take deep breaths the voice command thingy comes on, and sometime suddenly just randomly call people...good god its annoying as hell!
anyone know how to disable it? the only reason i use this headset over my seinheriser is cause its LOUD. when your in the gym you need loud bass to keep the pump!
Have you tried restarting the phone? I've had Voice Commands go crazy on me and not let me use my headset to control my music. A simple restart fixed it.
Have you tried a different headset? Maybe you got some sweat in the mic and it screwed something up. I've had this happen also. Do the Sennheisers you mentioned have a mic with music control?
If you're rooted you can freeze Voice Command using Titanium Backup.
Ill try freezing it and see how it goes. No my Sennheisers do not have a mic, thats why it does not happen when i use them, but the sound produced is softer, which is why i dont use em.
Restarting does not help.
Ran in to the same problem with my brother's phone; the problem is voice commands hijacks the headset button. There is an easy way to disable that, for those who are not rooted or don't want to freeze the app: go to settings, Applications and change the double-tap home launch setting to None. Now headset works as it should and controls PowerAmp, rather than popping up voice commands every time.
I had the same issue with mine. Freezing it with Titanium worked perfectly.
If you have an issue with it stopping your music as if disconnected it, I haven't found a fix for that.
And i always find best sony earphones with isolation and with noise cancelling, you'll enhance max trebles in sound settings, get PowerAmp to enhance on basses and for sake of this gorgeous combination forget about microphone.
Original earphones are always not good enough. Always must buy separately.
mass.w on droidrazr
Use "rom tool box" and freeze
mass.w on droidrazr
U can go to settings and changing the double tap home button to something else. Ur probably hitting the home button twice during ur work out.
Sent from my DROID RAZR using XDA
Has anyone been able to disable voice commands on stock? It's annoying trying to use pandora with headphones that have a button because the voice command prompt keeps popping up. One work around I've found is to use Headset Button Controller app.
You can also use media button router.... its free in the play store... allows you to map bluetooth device buttons to a specific app or apps... necessity with the ICS leaks because android hijacks the play button for voice commands if you use Pandora or a third party app to play music...
Sent from the cutting edge of my RAZR
Reguardless what i connect to with bluetooth be it my computer, my car, or my bluetooth headset the music controls (play, pause, forward, reverse, and starting the voice talk thing) no longer seem to work properly if the screen is off when i activate them.
Scenario: Listen to music via bluetooth in my car.
Press voice call button on my deck
Phone screen is off, its sitting in the glove box (not legally allowed to be within reach when driving)
What SHOULD happen: Brings up the voice control app... "What would you like to do", and i can tell it to play music or make a call or text or whatever.
What DOES happen: most of the time nothing, returns an error that the phone does not support this feature.
The same happens for when i want to change the song or play/pause the music.
Also get the same sort of problem from my bluetooth headset (Blueant T1) when starting the "voice commands" option. If the phone screen is off i get an error, if the phone screen is on it works as it should.
This only started happening after updating to ICS XXLPQ (stock). Has anyone else noticed this? Is there a different version of ICS that works better, or a custom rom thats tweaked for everything? I use bluetooth damn near every day, it has to work for me.
Thanks in advance!
Bump? Does anyone know what im talking about, have you experienced this sort of thing? Are there others with this problem or should i try reinstalling my rom as if it were an isolated event? I could really use some direction here.
Hi,
I have same problem with my autoradio sony MXBT3900U.
GS2 reboot every 15 min when I use bluetooth function (a2dp, phone, etc.)
I've read that 4.0.4 ics version resolve this issue.
I think we should wait this update or install a custom rom with 4.0.4 (hydrogenics, etc.) or install a GB version.
rgs.
I've got the same problem while playing music in my car.
What I've found MIUI ICS roms support this nicely.
and I've been using them cause of this very purpose.
Actually I kinda like MIUI.
Regards
Gaurav
FWIW, when I got the message you mention about not supporting this feature, I found it was because it was trying to ask me which app I wanted to open in response to the button press.
Try pressing the BT button when screen unlocked and check that it's not something silly like that.
Having read your post properly, it probably isn't.
Yes, it most definately is not something silly like that. Glad to hear im not the only one, now to wait another 5 months to get an update from Samsung I really with sammy was better with updates...
Yep...got the same problem too - pause/play just wont have it on ICS. I've tried a few ICS ROMs - all got the same issue, sound is clear as bell and next/prev tracks work fine - but not pause/play! But must admit, I've yet to try a MIUI Rom.....suggestions?
ICS is proving a PITA for me. I'm on Wanamlite at the mo and I need Sky Go to work (which it does fine) but on the 4.0.4 ROMs I've tried like Hydrogen, it wont work! Knowing my luck, if I try a MUIU rom and I get pause/play to work on my BT headset - Sky Go won't
Found the following post when doing a search on it:-
Fix Bluetooth headset/headphone controls in Mog for Android 4 (ICS)
I submitted this via Mog Mobile App Support but was shot down and told to submit it as a "feature request" here. The problem is that Bluetooth play and pause controls do not work in the Mog app for Android 4 (ICS). The skip and rewind buttons work just fine, but play and pause are not responsive. Specifically, on my Galaxy Nexus device, I cannot play or pause music using the Bluetooth controls on any Bluetooth headset or headphones. This worked with previous versions of Android.
I have contacted the Android development team about this, and they said that the Play/Pause specification in ICS has changed a bit. And all that is required is a short coding change on your part (and other developers with similar apps).
They even provided the proper coding:
--- DownloadServiceLifecycleSupport.java 2012-03-26 14:46:29.000000000 -0600 +++ DownloadServiceLifecycleSupport.java 2012-03-26 14:44:21.000000000 -0600 @@ -210,6 +210,12 @@
case KeyEvent.KEYCODE_MEDIA_STOP:
downloadService.reset();
break;
case KeyEvent.KEYCODE_MEDIA_PLAY:
downloadService.play();
break;
case KeyEvent.KEYCODE_MEDIA_PAUSE:
downloadService.pause();
break;
default:
break;
}
Click to expand...
Click to collapse
So it looks like there's the answer.... it's just that it may as well be written in Swahili for all the good it does me. Maybe the Devs can implement whatever that means, into the roms (or produce a flashable zip?)
EDIT: Found a temp workaround during more googling.... it's an app called Media Button Router and seems to do the job on my S2.... HTH somebody else here!
It helped me! Thanks! Now I hope they fix it for everybody. Media Button Router works for most of my audio apps. I wish it would just go back to the previously playing thing when you hit play though. That and it doesn't seem to recognize Audible for Android...
Willie_Heckerslyke said:
EDIT: Found a temp workaround during more googling.... it's an app called Media Button Router and seems to do the job on my S2.... HTH somebody else here!
Click to expand...
Click to collapse
Dude, you just made my day !!!
It works flawlessly with my Pioneer Car Radio! I couldn't use any HW buttons to control my music until you mentioned this app .
Kudos!