How to Test Your Phone Audio

RigPolice Team 4 min read

Your phone routes audio through at least two separate outputs: the small earpiece at the top handles calls, and the main loudspeaker at the bottom handles media. A mic problem might only surface on voice calls. A speaker problem might only show up in games. Four browser tests cover each path in under five minutes, with no app to install.

Test the microphone first

Open the microphone test in your phone browser and tap the button to allow access. Android and iOS both prompt for microphone permission. If you dismiss the prompt by accident, look for a microphone icon in your browser’s address bar and reset the permission there.

Speak at your normal call volume and watch the waveform. Barely any movement usually means noise cancellation is suppressing the input. Many phones have two mics (top and bottom) and treat one as the primary. A second device in the selector is the backup. Switch to it and compare.

If the waveform looks healthy here but your video call app shows nothing, the problem is inside that app. Open its audio settings and set the input device explicitly. Discord, Zoom, and Meet all maintain their own device selectors and don’t always follow the OS default.

Test the speakers and earpiece

The speaker test plays a tone through the left and right channel separately. On a phone with stereo speakers, you should hear each side fire distinctly. If both channels come out of one speaker, the second driver is dead or your phone’s stereo routing is off.

For the earpiece, hold the phone against your ear and tap the left tone. The earpiece is mono and much quieter than the main loudspeaker. If it’s silent, the grille is likely blocked with debris or there’s a hardware fault. Clean the mesh with a dry toothbrush and retest.

Phones route calls through the earpiece by default and switch to the loudspeaker only when you tap the speaker icon during a call. These are separate audio devices. A speaker test that passes for media does not tell you whether the earpiece works for calls.

Check the frequency range

Open the tone generator and sweep from 20 Hz up to 20 kHz. Phone speakers typically roll off below 100 Hz and above 16 kHz. If you hear a gap in the middle, or a tone cuts out at a frequency you’d expect to hear, there’s a driver or codec issue worth investigating.

At 1 kHz, the tone should be clear and steady at any volume. Distortion at low volumes usually points to a physically damaged cone. Distortion only at high volumes is normal and reflects the speaker’s power limits.

This test works with headphones too. Plug in a wired pair and sweep the range. You should hear continuous tone from around 20 Hz (more felt than heard) up to at least 15 kHz without a dropout.

Test spatial audio for gaming and headphones

If you game or watch movies with Bluetooth headphones, open the spatial audio test. It places audio events around a radar and asks you to locate them by ear. Spatial audio uses positional filtering built into the phone’s audio stack. How accurately that filtering works depends on the codec your phone uses to send audio wirelessly.

Sounds at 90 degrees that seem to come from inside your head instead of to the side mean the codec is not delivering enough data for spatial rendering. On iOS, spatial audio works with AirPods and MFi-certified earbuds only. On Android, LDAC and AAC carry enough bandwidth for spatial processing. SBC compresses too aggressively to pass the test reliably.

Gaming with SBC Bluetooth means spatial audio won’t work regardless of the in-game setting.

When audio works in the browser but not in an app

Browser permissions and app permissions are separate. An app that has never asked for microphone access won’t get it, even if your browser records fine.

On Android, go to Settings, then Apps, find the app, and tap Permissions, then Microphone. On iOS, open Settings, find the app, and toggle Microphone on.

If the permission is set but audio is still wrong, check the app’s internal device selector. Apps with in-app audio routing often cache the wrong output. Disconnect Bluetooth, force-quit the app, reopen it, and reconnect.

↗ Suggest an improvement

Related reading

Related tests