Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Contributor
Posts: 38
Registered: ‎06-07-2010
My Device: BlackBerry Bold 9790
My Carrier: none

Audio.isHeadsetConnected() always false on OS 7.0 devices

 

I am using a dongle plugged into the audio jack to receive audio signals that are recorded and processed within an app. This works perfectly fine on older devices (OS 5.0 and OS 6.0) but on none of the new devices with OS 7.0 (tested with BB 9360, 9790, 9810, 9860, 9900).

 

The problem is that the dongle is not even recognized - Audio.isHeadsetConnected() always returns false. Since the dongle works on all tested older devices (9550, 9700, 9780, 9800), this seems to be caused either by changes in the hardware of the new devices or in OS 7.0.

 

Does anyone know about changes related to the audio jack in the new devices or the OS 7.0?

BlackBerry Development Advisor
Posts: 15,727
Registered: ‎07-09-2008
My Device: BlackBerry PRIV
My Carrier: Bell

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

I wasn't able to reproduce this.  Are you seeing this with a standard stereo headset?

 

I tested on 7.0.0.598.  Which BlackBerry handheld software version are you testing on?  You can find this under Options, About on the BlackBerry Smartphone.

 

 

Mark Sohm
BlackBerry Development Advisor

Please refrain from posting new questions in solved threads.
Problem solved? Click the Accept As Solution button.
Found a bug? Report it using Issue Tracker
Contributor
Posts: 38
Registered: ‎06-07-2010
My Device: BlackBerry Bold 9790
My Carrier: none

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

Thank you for the reply. The dongle/receiver is connected using a standard stereo audio jack. It receives 5.3 kHz audio signals sent by another device. I don't think that the dongle is the problem because it is recognized by OS 5.0 and OS 6.0 devices as well as all smartphones of different manufacturers.

 

If the issue could be simply solved by a firmware upgrade, I would be very happy. Right now I only have one OS 7.0 device to test on, which is a Bold 9790, OS version 7.0.0.344. According to the BB Desktop Software (which is the most current version), this is the latest firmware version available for this device. I also try to keep the other OS 7.0 devices up to date all the time, so I am pretty sure that there's the latest firmware version on all of them. However, the dongle is recognized on none of them.

 

Is there a way to find out whether there has been a change in the hardware of the new devices or in OS 7.0 that may cause this issue?

Developer
Posts: 19,636
Registered: ‎07-14-2008
My Device: Not Specified

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

If  you plug something else into the headset socket on these devices, is it recognised?

 

In my brief testing on 9900 devices running OS 7.0, headset connected is correctly detecting when Headsets are connected.   

Contributor
Posts: 38
Registered: ‎06-07-2010
My Device: BlackBerry Bold 9790
My Carrier: none

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

Yes, a standard stereo headset is recognised.

Developer
Posts: 19,636
Registered: ‎07-14-2008
My Device: Not Specified

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

So I'm guessing this rules out a software fix - even if it was possible from RIM's perspective it is hard to see that the device is broken enough to need a fix.  I guess the question from your perspective is "what physical attributes does your device need to have to match the requirements to be detected in an OS 7.0 device?".  Good luck finding that out. 

Retired
Posts: 856
Registered: ‎07-15-2008
My Device: Passport
My Carrier: Bell

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

Changes were made in the way that an audio connection is determined to improve the quality.

 

Headsets have a certain profile to them on the 3 (or 4) parts of the prong. Each connection on the prong has certain electrical impedances and ranges.

 

The tool that you are using which operates over the headset jack needs to match the same expectations, or we need to get the specs and have them included in our device profiles.

 

The current spec is (pin 1 - 4, from tip to sleeve):

1 - L

2 - R

3 - Grnd

4 - Mic+

 

Do you know what your device is set for?

Tim Windsor
Open Source Technical Lead
Contributor
Posts: 38
Registered: ‎06-07-2010
My Device: BlackBerry Bold 9790
My Carrier: none

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

Thank you for this reply Tim. I have contacted the manufacturer of the dongle I am using and got an answer today. They told me that the device corresponds with the specification stated by you:

1 - L

2 - R

3 - Grnd

4 - Mic+

 

I have also tested another dongle (http://www.60beat.com/product_p/rx001.htm) with the same result - recognized on all devices but the OS 7.0 ones.

 

You said that "Changes were made in the way that an audio connection is determined to improve the quality.". Do you mean changes in the software, namely OS 7.0?

Retired
Posts: 856
Registered: ‎07-15-2008
My Device: Passport
My Carrier: Bell

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

Yes, there are software changes that use more refined detection methods. The unfortunate side-effect seems to be that the detection of unusual devices outside of the spec is not working.

 

Can you get detailed specs on the hardware from the manufacturer? The actual resistances and frequencies can be important to see where the hardware is missing each other.

Tim Windsor
Open Source Technical Lead
Contributor
Posts: 38
Registered: ‎06-07-2010
My Device: BlackBerry Bold 9790
My Carrier: none

Re: Audio.isHeadsetConnected() always false on OS 7.0 devices

Thanks for the information. I'll contact the manufacturer again an try to get detailed specifications as soon as possible.