gpt4 book ai didi

java - 一分钟后音频停止录制

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:07:13 32 4
gpt4 key购买 nike

我正在尝试使用 WebRTC,一切正常,但似乎存在一个问题,即,如果屏幕保持关闭状态超过一分钟,音频将停止录制,这意味着来自设备的音频将停止,直到我再次打开屏幕

我尝试了什么?

1) 我已经尝试设置 webSettings.setMediaPlaybackRequiresUserGesture(false); 它对问题没有好处。

2) 我也尝试在我正在执行 WebRTC 的 Activity 中添加一个 wakelock,但它也没有用。

以下是 list 中声明的​​权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

在 Activity 中,我在 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:尝试在 Foreground Service 中初始化 WebView 结果仍然相同。

更新 4:尝试在 https://appr.tc/ 上进行演示通话使用 Chrome(76.0.3809.132)。观察到相同的结果。

更新 5:尝试使用 Firefox 进行演示调用,它完美无缺让我觉得这是 Chromium 的错误吗?

更新 6:填补了一个错误 report

最佳答案

Android 会在离开前台几分钟后自动销毁您的 Activity,这会导致录音关闭。

我在 android 上使用 webrtc,如果你想在 Android 上使用 webrtc 创建通话和视频通话,我建议使用原生 webrtc 并在前台服务上实现与 webrtc 相关的所有内容。前台服务将确保您的记录器和相机在 Activity 被破坏时继续运行事件。

作为引用,这里是用于实现 webrtc native 的 google 示例 https://webrtc.googlesource.com/src/+/master/examples/androidapp/src/org/appspot/apprtc

关于java - 一分钟后音频停止录制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57363140/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com