I have already asked this question on stack overflow without much luck so far, but i figured it might fair better here.
I have an android TV (Philips 49PUS6401) I want to connect a surround sound system to it which is much better quality than the built in speakers even when only being used in stereo.

however this TV separates the volume control for the master output and the headphone output, the result being that even with the in TV speakers turned off, the volume keys on the remote do not adjust the headphone volume (which i'm using as a line out)

I am planning to write a simple app to adjust the headphone volume whenever the mast volume is changed, but i can't seem to figure out how to get or set the headphone volume, as the audio manager deals with streams rather than outputs, so the only value i can get from it is the master.

How do I go about finding a way to get/set the headphone volume? I have got shell access through adb, but i cannot get root.

for reference the tv is running the latest firmware, which is android 5.1.1

I know that normally android doesn't allow control over individual audio devices, but instead uses streams, and androids hardware abstraction layer (HAL) takes care of the routing, but somehow the manufacturer of this TV has been able to split the audio and feed it out of the headphone socket and a second output simultaneously. this issue has been quite heavily commented on in forums: see here

For the time being I'm just looking for a way to access it over ADB, but long term I'm planning to write a simple app to link the volume of the main output to the volume of the headphones so I don't have to delve into a submenu (which upsets kodi-media player) in order to change the volume.

so either ADB commands or the relevant section of the android API would be welcome, i've already looked at:

  • AudioManager
  • AudioSystem
  • libaudio

and gone digging in the filesystem, i'm guessing that what i want will be hidden in the /dev part of the filesystem which i can't get at without root, but i would be glad to be wrong.

  • 1
    We can't help you with the Android API, as this isn't a site for programmers, but if there's a way to do it with ADB I'm sure other users will be interested in that. – Dan Hulme Nov 1 '16 at 13:49
  • if i ever figure it out and make an app to do it i was going to release it on github.... no sense going to the effort if i'm the only one to benefit, so far i've been able to side load apps on my TV (which all the forum posts i found said couldn't be done?) with two lines using adb... FWIW I can get and set the main speaker volume using ADB, but not the headphones... – James Kent Nov 1 '16 at 14:34
  • You may try the app Smart Volume Control. I'm sorry if this doesn't make sense, since I don't know if we have to use a different sdk to compile app for TVs.. Just thought of telling this – Gokul NC Nov 4 '16 at 13:18
  • I am trying to follow your question but I am having difficulty imagining the problem. Are you saying that when the TV is off the volume of the Android phone can't be increased for your surround sound speakers? – Gabriel Fair Nov 10 '16 at 15:58
  • it is an android smart tv, which plays the audio through the tv speakers and the headphone socket simultaneously, with a separate volume control for each, i want a way to link the volume controls together so when i use the buttons on the remote(which only controls the speaker volume) the headphone volume changes with it – James Kent Nov 10 '16 at 16:29

Damn, I'm having the same TV, is there anyway to fix this? It's really annoying, i can't control my speakers, and the TV's default speakers are horrifically bad.

  • 1
    Sorry but not that i ever found, i did work out how to get the main volume level, but i never figured out how to manipulate the headphone volume level progamatically, my guess is you need something that can communicate with the bits of ALSA that are present, but i never got that far – James Kent Oct 25 '17 at 16:17
  • 1
    You can look at things like ARC recievers or hdmi switches that implement the ARC function to break out the audio, this will then change volume with the main volume – James Kent Oct 25 '17 at 16:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.