我正在尝试使用 WebRTC,一切正常,但似乎存在一个问题,即如果屏幕关闭超过一分钟,音频将停止录制,这意味着设备的音频将停止,直到我打开屏幕一次再次。
我试过什么?
1)我试过设置webSettings.setMediaPlaybackRequiresUserGesture(false);它对问题没有好处。
2)我也尝试wakelock在我正在进行的 WebRTC 活动中添加一个,但它也没有用。
以下是清单中声明的权限:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
在活动中,我授予以下麦克风的权限WebChromeClient:
@Override
public void onPermissionRequest(final PermissionRequest request) {
request.grant(request.getResources());
}
我想要的是?
我希望能够在不打扰用户重新打开屏幕的情况下继续通话。请指出我正确的方向。
谢谢!
更新:我尝试在 Chrome 中加载 WebRTC url 并且发生了同样的事情,也就是说,音频停止从我的设备录制。
更新 2:当音频停止来自设备时添加日志。
2019-08-06 17:18:47.266 4332-22405/? V/APM_AudioPolicyManager: getAudioPolicyConfig: audioParam;outDevice
2019-08-06 17:18:47.266 4332-22405/? V/APM_AudioPolicyManager: getNewOutputDevice() selected device 2
2019-08-06 17:18:47.266 4332-22405/? V/APM_AudioPolicyManager: ### curdevice : 2
2019-08-06 17:18:47.307 4332-22405/? V/APM_AudioPolicyManager: AudioPolicyManager:setRecordSilenced(uid:99066, silenced:1)
2019-08-06 17:18:47.308 4332-22405/? V/APM_AudioPolicyManager: AudioPolicyManager:setRecordSilenced(uid:11556, silenced:1)
更新 3:尝试WebView
以Foreground Service
相同的结果进行初始化。
更新 4:尝试使用 Chrome(76.0.3809.132)在https://appr.tc/上进行演示调用。观察到相同的结果。
更新 5:尝试使用 Firefox 进行演示调用,它完美无缺地工作,这让我认为这是 Chromium 的错误吗?
更新 6:填写错误报告
largeQ
繁华开满天机
慕田峪4524236
相关分类