Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92488ea2 authored by Kevin Rocard's avatar Kevin Rocard
Browse files

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: default avatarKevin Rocard <krocard@google.com>
parent 1c70a60e
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -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.
     */
+5 −5
Original line number Diff line number Diff line
@@ -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