summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/AudioRecord.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index ec1a854a66d5..3d5120f86db3 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -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;
}