Register policy with AudioManager

The policy was previously not registered. Resulting in a failure when
starting the recording.

Test: atest android.media.cts.AudioPlaybackCaptureTest#testCaptureMediaUsage
Bug: 111453086
Change-Id: Ib0bbdfefd644c2f8e389baafdc1fc3ad548dcc4c
Signed-off-by: Kevin Rocard <krocard@google.com>
This commit is contained in:
Kevin Rocard
2019-02-27 15:12:10 -08:00
parent 92488ea2b2
commit be64d36ea3

View File

@@ -653,7 +653,16 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection,
AudioPolicy audioPolicy = new AudioPolicy.Builder(/*context=*/ null)
.setMediaProjection(projection)
.addMix(audioMix).build();
int error = AudioManager.registerAudioPolicyStatic(audioPolicy);
if (error != 0) {
throw new UnsupportedOperationException("Error: could not register audio policy");
}
AudioRecord record = audioPolicy.createAudioRecordSink(audioMix);
if (record == null) {
throw new UnsupportedOperationException("Cannot create AudioRecord");
}
record.unregisterAudioPolicyOnRelease(audioPolicy);
return record;
}