Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个android应用程序如何同时使用MediaProjection?_Android_Mediaprojection - Fatal编程技术网

两个android应用程序如何同时使用MediaProjection?

两个android应用程序如何同时使用MediaProjection?,android,mediaprojection,Android,Mediaprojection,我需要两个应用程序来使用MediaProjection API同时录制屏幕 当第二个应用程序开始记录屏幕时,我发现第一个应用程序不工作 ---代码——我发现的是: 我用 请求许可。 在 将数据另存为 data.clone() as Intent 我用 mImageReader = ImageReader.newInstance( mScreenWidth, mScreenHeight, PixelFormat.RGBA_8888,

我需要两个应用程序来使用MediaProjection API同时录制屏幕

当第二个应用程序开始记录屏幕时,我发现第一个应用程序不工作

---代码——我发现的是:

我用

请求许可。 在

将数据另存为

  data.clone() as Intent
我用

mImageReader = ImageReader.newInstance(
        mScreenWidth,
        mScreenHeight,
        PixelFormat.RGBA_8888,
        2
    )

 getMediaProjectionManager().getMediaProjection(Activity.RESULT_OK, mResultData)

mVirtualDisplay = mMediaProjection!!.createVirtualDisplay(
        "screen-mirror",
        mScreenWidth, mScreenWidth,
        mScreenDensity,
        DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, mImageReader?.surface,
        null,
        null
    )
要恢复记录图像,我使用

var image = mImageReader.acquireLatestImage()
当只有一个应用正在录制时,acquireLatestImage()将在屏幕更改时返回图像

当第二个应用程序开始录制时,第一个应用程序的此函数将始终返回null

有人能帮我吗?谢谢


我有一个项目,使屏幕像素更大,并成为原始rgb,在

所有代码都来自那里

mImageReader = ImageReader.newInstance(
        mScreenWidth,
        mScreenHeight,
        PixelFormat.RGBA_8888,
        2
    )

 getMediaProjectionManager().getMediaProjection(Activity.RESULT_OK, mResultData)

mVirtualDisplay = mMediaProjection!!.createVirtualDisplay(
        "screen-mirror",
        mScreenWidth, mScreenWidth,
        mScreenDensity,
        DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, mImageReader?.surface,
        null,
        null
    )
var image = mImageReader.acquireLatestImage()