Status Update
Comments
er...@google.com <er...@google.com> #2
If that's not the case and I change the microphone source, it would affect the sound quality as well.
Edit: Probably on the Mac program `Audio MIDI Setup` the sound source format is changed to a lower bitrate
er...@google.com <er...@google.com> #3
I've tried the Audio MIDI Setup program, but it doesn't show any changes for my headphones that are bluetooth connected with a USB dongle.
ch...@google.com <ch...@google.com>
ch...@google.com <ch...@google.com> #4
Hi, as the emulator continuously uses the microphone, Bluetooth headset quality will be degraded due to there being not enough bluetooth bandwidth to have both hi quality output and input. We can consider having a dynamic switch for this, but adding this will take some time.
ch...@google.com <ch...@google.com>
vi...@gmail.com <vi...@gmail.com> #5
I don't think that is what is happening. For me, when the emulator launches, it changes the macOS input device from the internal speaker to my headphones which switches the bt profile to a2dp.
As a temporary workaround, I set hw.audioInput=no
in my avd config.ini and it seemed to help.
ch...@google.com <ch...@google.com> #6
+1 with "not enough bluetooth bandwidth" not being the issue. Connecting the headphones after the emulator has started up has no issues.
vi...@gmail.com <vi...@gmail.com> #7
ch...@google.com <ch...@google.com> #8
vi...@gmail.com <vi...@gmail.com> #9
vi...@gmail.com <vi...@gmail.com> #10
vi...@gmail.com <vi...@gmail.com> #11
Which is almost a year old, guys!
ch...@google.com <ch...@google.com> #12
As a temporary workaround,
vi...@gmail.com <vi...@gmail.com> #13
config.ini do the fix, thanks!
source: #5 comment
- Device manager -> virtual device dropdown menu -> Show on Disk
- open config.ini and add this line: hw.audioInput=no
ch...@google.com <ch...@google.com> #14
config.ini changes don't seem to work for me - tried on various emulators with API level 31+. Both freshly installed emulators and existing ones.
ap...@google.com <ap...@google.com> #15
Hi. I am sorry for the issues around sound quality. I am working on a new sound card, this bug will be the next issue I will be working on.
ch...@google.com <ch...@google.com> #16
I was able to repro this with bluetooth headphones, it does not repro with laptop speakers somehow. It happens very early, even before the kernel is loaded.
Description
1.0.0-alpha07
DEVICE NAME: (Nexus 5X, Samsung S6, etc)
name : FUJITSU arrowsM04
Android OS version : 7.1.1
name: FUJITSU F-04J
Android OS version : 6.0.1
name: FUJITSU F-05J
Android OS version : 7.1.1
DESCRIPTION:
We receive following crash report from our app user.
Fatal Exception: java.lang.IllegalArgumentException: Can not get supported output size under supported maximum for the format: 34
at a.c.a.b.k0.a + 98(SupportedSurfaceCombination.java:98)
at a.c.a.b.k0.a + 30(SupportedSurfaceCombination.java:30)
at a.c.a.b.t.a + 22(Camera2DeviceSurfaceManager.java:22)
at androidx.camera.core.k1.a + 98(CameraX.java:98)
at androidx.camera.core.k1.a + 22(CameraX.java:22)
at a.c.b.c.a + 6(ProcessCameraProvider.java:6)
at <out app package name>.CameraFragment.a + 33(CameraFragment.kt:33)
at <out app package name>.CameraFragment.a + 1(CameraFragment.kt:1)
at <out app package name>.CameraFragment$m.run + 1(CameraFragment.kt:1)
at android.os.Handler.handleCallback + 751(Handler.java:751)
at android.os.Handler.dispatchMessage + 95(Handler.java:95)
at android.os.Looper.loop + 154(Looper.java:154)
at android.app.ActivityThread.main + 6262(ActivityThread.java:6262)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 890(ZygoteInit.java:890)
at com.android.internal.os.ZygoteInit.main + 780(ZygoteInit.java:780)
REPRODUCIBILITY: (5 of out 5, 1 out of 100, etc)
We receive this crash report from only three devices. And these devices's manufacturer is FUJITSU.
ADDITIONAL INFORMATION:
CODE FRAGMENTS (this will help us troubleshoot your issues):
Our app bind usecases by following code.
private fun bindCameraUseCases(processCameraProvider: ProcessCameraProvider) {
preview = Preview.Builder().apply {
setTargetAspectRatio(AspectRatio.RATIO_4_3)
}.build().apply {
previewSurfaceProvider = binding.previewViewCamera.previewSurfaceProvider
}
imageCapture = ImageCapture.Builder().apply {
setCaptureMode(ImageCapture.CaptureMode.MINIMIZE_LATENCY)
setTargetAspectRatio(AspectRatio.RATIO_4_3)
setFlashMode(FlashMode.OFF)
}.build()
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
processCameraProvider.bindToLifecycle(viewLifecycleOwner, cameraSelector, preview, imageCapture)
}