From 92488ea2b21f1f012bf3ffcce98215ce1649d057 Mon Sep 17 00:00:00 2001 From: Kevin Rocard Date: Thu, 21 Feb 2019 11:01:25 -0800 Subject: [PATCH] Allow to project audio from a Screen capture MediaProjection Test: adb shell audiorecorder --target /data/file.raw Bug: 111453086 Change-Id: I81d5f9b3af5ab47757b9075228ce07e30e6a0fcf Signed-off-by: Kevin Rocard --- .../android/media/projection/MediaProjection.java | 11 ----------- .../projection/MediaProjectionManagerService.java | 10 +++++----- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/media/java/android/media/projection/MediaProjection.java b/media/java/android/media/projection/MediaProjection.java index f9c5b8d729c72..632cfb0f1e30a 100644 --- a/media/java/android/media/projection/MediaProjection.java +++ b/media/java/android/media/projection/MediaProjection.java @@ -21,7 +21,6 @@ import android.annotation.Nullable; import android.content.Context; import android.hardware.display.DisplayManager; import android.hardware.display.VirtualDisplay; -import android.media.AudioRecord; import android.media.projection.IMediaProjection; import android.media.projection.IMediaProjectionCallback; import android.os.Handler; @@ -139,16 +138,6 @@ public final class MediaProjection { handler, null /* uniqueId */); } - /** - * Creates an AudioRecord to capture audio played back by the system. - * @hide - */ - public AudioRecord createAudioRecord( - int sampleRateInHz, int channelConfig, - int audioFormat, int bufferSizeInBytes) { - return null; - } - /** * Stops projection. */ diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java index fccff57e32349..270fbc68e1436 100644 --- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java +++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java @@ -16,17 +16,15 @@ package com.android.server.media.projection; -import com.android.server.Watchdog; - import android.Manifest; import android.app.AppOpsManager; import android.content.Context; import android.content.pm.PackageManager; import android.hardware.display.DisplayManager; import android.media.MediaRouter; -import android.media.projection.IMediaProjectionManager; import android.media.projection.IMediaProjection; import android.media.projection.IMediaProjectionCallback; +import android.media.projection.IMediaProjectionManager; import android.media.projection.IMediaProjectionWatcherCallback; import android.media.projection.MediaProjectionInfo; import android.media.projection.MediaProjectionManager; @@ -41,6 +39,7 @@ import android.util.Slog; import com.android.internal.util.DumpUtils; import com.android.server.SystemService; +import com.android.server.Watchdog; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -361,8 +360,9 @@ public final class MediaProjectionManagerService extends SystemService @Override // Binder call public boolean canProjectAudio() { - return mType == MediaProjectionManager.TYPE_MIRRORING || - mType == MediaProjectionManager.TYPE_PRESENTATION; + return mType == MediaProjectionManager.TYPE_MIRRORING + || mType == MediaProjectionManager.TYPE_PRESENTATION + || mType == MediaProjectionManager.TYPE_SCREEN_CAPTURE; } @Override // Binder call