Move createAudioFormat() to AudioConfig

This will allow to reuse this method.

PR #5102 <https://github.com/Genymobile/scrcpy/pull/5102>
This commit is contained in:
Romain Vimont 2024-07-14 23:14:48 +02:00
parent a2f3a5cf18
commit 414ce4c754
2 changed files with 9 additions and 10 deletions

View File

@ -9,7 +9,6 @@ import android.annotation.SuppressLint;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Intent; import android.content.Intent;
import android.media.AudioFormat;
import android.media.AudioRecord; import android.media.AudioRecord;
import android.media.AudioTimestamp; import android.media.AudioTimestamp;
import android.media.MediaCodec; import android.media.MediaCodec;
@ -44,14 +43,6 @@ public final class AudioCapture {
this.audioSource = audioSource.value(); this.audioSource = audioSource.value();
} }
private static AudioFormat createAudioFormat() {
AudioFormat.Builder builder = new AudioFormat.Builder();
builder.setEncoding(ENCODING);
builder.setSampleRate(SAMPLE_RATE);
builder.setChannelMask(CHANNEL_CONFIG);
return builder.build();
}
@TargetApi(Build.VERSION_CODES.M) @TargetApi(Build.VERSION_CODES.M)
@SuppressLint({"WrongConstant", "MissingPermission"}) @SuppressLint({"WrongConstant", "MissingPermission"})
private static AudioRecord createAudioRecord(int audioSource) { private static AudioRecord createAudioRecord(int audioSource) {
@ -61,7 +52,7 @@ public final class AudioCapture {
builder.setContext(FakeContext.get()); builder.setContext(FakeContext.get());
} }
builder.setAudioSource(audioSource); builder.setAudioSource(audioSource);
builder.setAudioFormat(createAudioFormat()); builder.setAudioFormat(AudioConfig.createAudioFormat());
int minBufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, CHANNEL_CONFIG, ENCODING); int minBufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, CHANNEL_CONFIG, ENCODING);
// This buffer size does not impact latency // This buffer size does not impact latency
builder.setBufferSizeInBytes(8 * minBufferSize); builder.setBufferSizeInBytes(8 * minBufferSize);

View File

@ -18,4 +18,12 @@ public final class AudioConfig {
private AudioConfig() { private AudioConfig() {
// Not instantiable // Not instantiable
} }
public static AudioFormat createAudioFormat() {
AudioFormat.Builder builder = new AudioFormat.Builder();
builder.setEncoding(ENCODING);
builder.setSampleRate(SAMPLE_RATE);
builder.setChannelMask(CHANNEL_CONFIG);
return builder.build();
}
} }