Все остальное в моем приложении выглядит нормально, как удаленные, так и локальные потоки отображаются нормально, если я использую Camera1
API. Но когда я пытаюсь использовать Camera2
API, локальный видеопоток больше не отображается, вместо этого отображается черный экран. Локальный поток все еще отображается на удаленном конце, и в журнале также нет сообщений об ошибках. API - единственное, что я изменил в своем коде. Кто-нибудь знает, что здесь происходит?
Я столкнулся с подобной проблемой здесь , но она устарела и не подлежит тестированию, поскольку setVideoHwAccelerationOptions()
устарела, а связанные с ней вещи обрабатываются закодированными фабриками, как описано здесь .
Вот мой код для строительства этих фабрик, на случай, если это будет полезно:
final VideoEncoderFactory encoderFactory;
final VideoDecoderFactory decoderFactory;
encoderFactory = new DefaultVideoEncoderFactory(
rootEglBase.getEglBaseContext(), true /* enableIntelVp8Encoder */, false);
decoderFactory = new DefaultVideoDecoderFactory(rootEglBase.getEglBaseContext());