How to Customize Audio Settings in SCRCPY

SCRCPY has dozens and dozens of different customisation options that you can use to get the exact screen mirroring experience you want. It's also super easy to use all of these customisations in pretty much any combination you want. In this guide, we will be going through all of the audio customisation options that are available for SCRCPY.

How to Customize Sound Settings in SCRCPY

Audio forwarding is enabled by default for Android 11 and above but it might not work in the exact way that you want it to. It also has a tendency to crash from time to time so you might want to customise things using some of the settings shown below. If you're new to SCRCPY you'll need to read the following guide before starting everything below. It will show you how to use commands in SCRCPY. This is really important as you will more than likely want to string commands together.

Audio Forwarding

If audio capture fails, video mirroring continues unless you are using the  --require-audio command.

To disable audio entirely you can use the following command.

scrcpy --no-audio

SCRCPY with Audio Only

For audio-only playback is the following command.

scrcpy --no-video --no-control

If no window is required, this simplified command can be used.

scrcpy --no-window

For better audio stability (less glitching), increase the buffer size.

scrcpy --no-video --audio-buffer=200

Audio Source Configuration

By default, SCRCPY forwards the device audio output. You can customize the audio source:

Device Microphone

To capture the microphone audio use the following command.

scrcpy --audio-source=mic

Example: Using the device as a dictaphone

scrcpy --audio-source=mic --no-video --no-playback --record=file.opus

Audio Duplication (Android 13+)

Forward audio playback while allowing it to play on the device:

scrcpy --audio-dup

Note: Requires Android 13 and depends on app permissions.

SCRCPY Audio Codec Options

SCRCPY supports multiple audio codecs:

To select a codec:

scrcpy --audio-codec=aac

If you encounter errors like: Failed to initialize audio/opus, error 0xfffffffe

Switch to another codec:

scrcpy --audio-codec=aac

SCRCPY Advanced Codec Options

Customize codec parameters, such as FLAC compression level:

scrcpy --audio-codec=flac --audio-codec-options=flac-compression-level=8

SCRCPY Audio Encoder Selection

List available encoders:

scrcpy --list-encoders

Specify an encoder:

scrcpy --audio-codec=opus --audio-encoder='c2.android.opus.encoder'

SCRCPY Audio Bit Rates

Default bit rate: 128Kbps. Adjust it as needed:

scrcpy --audio-bit-rate=64K

scrcpy --audio-bit-rate=64000 # equivalent

Note: This does not apply to the raw codec.

SCRCPY Audio Buffering Options

Buffering affects latency and playback quality:

scrcpy --audio-buffer=40 # Lower latency

scrcpy --audio-buffer=100 # Reduced glitches

SCRCPY Audio Output Buffer

If sound becomes robotic or glitchy, modify the audio output buffer (use cautiously):

scrcpy --audio-output-buffer=10

Combining Video and Audio Buffering

For smoother playback when interacting with the device is unnecessary:

scrcpy --display-buffer=200 --audio-buffer=200

Comments