[Webkit-unassigned] [Bug 212653] New: Web Audio AnalyserNode returning bad values for bluetooth headset input volume.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jun 2 13:36:59 PDT 2020
https://bugs.webkit.org/show_bug.cgi?id=212653
Bug ID: 212653
Summary: Web Audio AnalyserNode returning bad values for
bluetooth headset input volume.
Product: WebKit
Version: Safari 13
Hardware: All
OS: All
Status: NEW
Severity: Normal
Priority: P2
Component: Web Audio
Assignee: webkit-unassigned at lists.webkit.org
Reporter: the.jon.mudrick at gmail.com
This issue affects iOS and macOS devices with a pre-attached set of bluetooth headphones being used as an input. First noticed with AirPods Pro and Airpods.
If I try to create an analyser from a fresh AudioContext (using audioContext.createAnalyser() with an appropriate audio input source selected), created when a bluetooth device is connected to the device, any attempts to get volume data returns numbers near 0 instead of proper values.
I'm using code similar to the example code found here: https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getByteTimeDomainData
The above link has a demo page (https://mdn.github.io/voice-change-o-matic/) which exhibits the bad behavior.
Some supporting details:
All Data functions on the AnalyserNode return bad values (getFloatFrequencyData, getByteFrequencyData, getFloatTimeDomainData, getByteTimeDomainData)
On iOS, where the only input device option from a call to enumerateDevices is just "iPhone Microphone":
- If no bluetooth headset is connected when the analyser is created, and then a bluetooth headset is subsequently connected, correct data is reported by the AnalyserNode.
- If a bluetooth headset is connected when the analyser is created, no correct data is reported by the AnalyserNode, even after the bluetooth headset is disconnected.
On macOS:
- Multiple audio inputs are available from enumerateDevices, as it can select from the built-in mic and the headset.
- If an AnalyserNode is created from the bluetooth headset, it does not report correct data, but if an AnalyserNode is created from the built-in mic, it works correctly.
I have witnessed similar behavior in chromium-based browsers on Windows, but only with AirPods, not with other types of bluetooth headphones I have handy.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200602/70472374/attachment.htm>
More information about the webkit-unassigned
mailing list