Публичный виртуальный дисплей имеет черный экран

Я запустил этот пример: https://github.com/android/media-samples/tree/main/ScreenCapture.

И изменил отображение на общедоступное, чтобы я мог получить к нему доступ с помощью scrcpy:

      mVirtualDisplay = mMediaProjection.createVirtualDisplay("ScreenCapture",
                mSurfaceView.getWidth(), mSurfaceView.getHeight(), mScreenDensity,
                DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC,
                mSurface, null, null);

Когда я открываю дисплей с помощью scrcpy, я получаю полностью черный экран, а на предварительном просмотре он отображается правильно.

Почему он дает черный экран через scrcpy?

Я предполагаю, что это связано с тем, что дисплей не является безопасным (предупреждение «ПРЕДУПРЕЖДЕНИЕ: дисплей не имеет флага FLAG_SUPPORTS_PROTECTED_BUFFERS, зеркалирование может быть ограничено»), но обычное приложение не может создать безопасный виртуальный дисплей, поскольку разрешение только для системных приложений.

Любой способ заставить его работать?

0 ответов

Другие вопросы по тегам