Headset Button Controller is very configurable, allowing you to play music, change tracks, adjust volume, answer phone calls, start Voice Command and many other things, just by clicking the button on your headset.
Headset Button Controller is shipped with a powerful default configuration, but you can change almost every action performed. Once you have configured it with your preferences, it runs in the background using almost no CPU. It has been tested with a wide variety of different Android devices and music apps and works with both single-button headsets, and Android-specific 3-button headsets.
Default configuration for single-button headsets (center button for 3-button headsets):
* Single press: play / pause (+ answer call / end call)
* Double press: next track (+ decline call / mute microphone)
* Triple press: previous track
* Quadruple press: previous track (2x)
* Long press: Volume control 
* Press and hold: Fast forward 
* Double press and hold: Rewind 
* Triple press and hold: disabled
All of the above options are configurable to any of the following:
* Play / pause
* Next track
* Previous track
* Previous track (2x)
* Mute / unmute
* Voice command
* Voice search
* Redial last number
* Say current time (Text-To-Speech required)
* Launch app
* Launch shortcut
* Tasker task 
* Switch profile
Additionally the long press options are configurable to any of the following:
* Volume control 
* Rewind 
* Fast forward 
 Requires the app 'Tasker'
 While the button is held down, the volume is initially reset to the minimum limit (see below) and then raised until the button is released
 Not every music player app supports rewind / fast forward
With a 3-button headset, volume control is also configurable with the left and right headset buttons.
Music app selection
Headset Button Controller controls the currently running music app. You are also able to explicitly specify which installed music app you want to control.
Volume control features
Headset Button Controller remembers the music volume when the headphone is unplugged and can restore it when the headphone is plugged in again.
* Min volume limit: Start volume level of the 'volume control' command
* Max volume limit: Ensures that the headset music volume never exceeds this limit
You are also able to control calls with the headset button:
* answer call / end call on single press (configurable)
* decline call / mute microphone on double press (configurable)
* adjust volume during a call (see volume control)
* announce caller name (Text-To-Speech required)
You can also configure Headset Button Controller to automatically answer an incoming call after a configurable delay.
Headset plug in / out
You can configure an action to be performed when the headset gets plugged in / out.
You can create different 'configuration profiles' which you can switch between. Add a widget or a shortcut to your home screen to easily change your profile. It is also possible to switch profile from the 'Tasker' or 'Locale' app (Locale plug-in). All settings can be backed up on SD card.
This is the full version of Headset Button Controller. To check if this app works with your phone / music player correctly, we suggest you first install the trial version of this app before buying.
djay transforms your Android device into a full–featured DJ system. Seamlessly integrated with Spotify and all the music on your device, djay gives you direct access to mix your favorite songs and playlists instantly. You can perform live, record mixes on–the–go, or enable Automix mode to let djay create a seamless mix for you automatically. Whether you are a professional DJ or a beginner who just loves to play with music, djay offers you the most intuitive yet powerful DJ experience on an Android device.
• Spotify integration
• Music library integration (all files on your device, no access to Google Play Music)
• Match: intelligent song recommendation engine powered by The Echo Nest
• Audio FX: Flanger, Phaser, Echo, Gate, Bit Crusher
• Mixer, Tempo, Pitch-Bend, Filter and EQ controls
• Looping & Cue Points
• Colored HD Waveforms™
• Live Recording (local music only)
• Sampler with included sound FX, drums, and an exclusive pack by Snoop Dogg
• Single Deck portrait mode
• Pre-Cueing with headphones (using Griffin DJ Cable)
• Advanced time-stretching (requires quad-core Nexus device)
• Automatic beat & tempo detection
• Support for all major audio formats
• Support for Bluetooth devices
• Support for DJ MIDI Controller (Reloop Beatpad)
Watch DMC Champion DJ Rasp perform on djay for Android:
Spotify integration requires Spotify Premium and an internet connection, a FREE trial is available.
Full Feature List at http://soundabout.userboard.net/t561-feature-list
(Some outputs are enabled for the PRO VERSION only)
Route the media audio to (Built-In speaker, Wired Headphones, Wired Headset (with mic), Earpiece, Aux Digital(HDMI), Bluetooth(A2DP), Bluetooth(mono), Bluetooth(mono)(dynamic), Dock(Analog), Dock(Digital)).
Route the phone call audio to (Built in Earpiece, External speaker, Bluetooth (mono), Wired Headphones, Wired Headset (with mic), Dock (Analog), Dock (Digital)
Phone call audio to Bluetoth A2DP(media) NOT allowed in Android.
Announce Callers Names (Caller ID) when they call (needs contact list)
Turn Notifications and Ringtones on and off depending on the audio output being used.
Send Text-To-Speech audio to various outputs with/without delays:
Wired Headset detection - ALLOW or IGNORE the headphone/headset plug in/out detection.
Wired Headset microphone - DETECT or IGNORE that a headset has a microphone when plugged in.
Send audio to Bluetooth headsets and your car's Bluetooth connection.
After installing the app you will need to start the app for the detection to be started and to set your volume preferences. The app can also be temporarily disabled in the settings. There is also an option to run a regular check of the volumes to ensure that the volumes are reset to the desired volumes if changed temporarily.
Due to difficulties in Android for users to get the volume setting bar all the way across, both the full bar and the position before will give you full volume.