0

我正在开发一个 webrtc android 应用程序,除了两件事之外,一切都运行良好……它们是;

  1. 将默认声音输出设备从听筒切换到扬声器,反之亦然。我尝试使用此 stackoverflow 线程中的以下代码,但它们不起作用
audioManager = (AudioManager) this.activity.getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(true);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
  1. 并且提高视频性能,视频流有很多滞后,甚至流挂起很多。如果有任何人可以在这方面帮助我,非常感谢。下面是我的 peerConnection 配置
String fieldTrials = (PeerConnectionFactory.VIDEO_FRAME_EMIT_TRIAL + "/" + PeerConnectionFactory.TRIAL_ENABLED + "/");
PeerConnectionFactory.InitializationOptions initializationOptions =
                PeerConnectionFactory.InitializationOptions.builder(this)
                        .setFieldTrials(fieldTrials)
                        .createInitializationOptions();
PeerConnectionFactory.initialize(initializationOptions);

//Create a new PeerConnectionFactory instance - using Hardware encoder and decoder.
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
DefaultVideoEncoderFactory defaultVideoEncoderFactory = new DefaultVideoEncoderFactory(
                rootEglBase.getEglBaseContext(),  /* enableIntelVp8Encoder */true,  /* enableH264HighProfile */true);
DefaultVideoDecoderFactory defaultVideoDecoderFactory = new DefaultVideoDecoderFactory(rootEglBase.getEglBaseContext());

peerConnectionFactory = PeerConnectionFactory.builder()
                .setOptions(options)
                .setVideoEncoderFactory(defaultVideoEncoderFactory)
                .setVideoDecoderFactory(defaultVideoDecoderFactory)
                .createPeerConnectionFactory();

谢谢

4

1 回答 1

1

需要在清单中添加此权限

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
于 2020-07-08T14:43:04.483 回答