问题标签 [webrtc-android]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - webRTC 在 peerConnection.dispose() 上崩溃
我正在使用本机 WebRTC 和我的 Java Signaling Server 开发视频聊天应用程序。
我成功地创建了连接并且它工作得很好。
但是,当我尝试断开呼叫时,应用程序崩溃并显示以下错误消息:
当我调用 peerConnection.dispose() 或 peerConnection.close(); 时发生崩溃;
这是我断开呼叫的代码:
我曾尝试先调用 peerConnection.dispose() 但它仍然崩溃。无论尝试过什么,它总是因以下原因而崩溃:
我做错了什么?
android - Android WebRTC 连接成功率低
我正在使用原生 android WebRTC 开发视频聊天应用程序。我正在使用公共 google STUN 服务器和 XIRRYS STUN 和 TURN 服务器。
我的问题是连接成功率很低!
连接成功率如下:
- 当我使用 WIFI 网络时,大约 50% 的连接失败
- 当我使用移动互联网时,大约90% 的连接失败。
在所有情况下,offer、answer 和 Candidate 消息都很好地通过信令服务器运行,但正如我所说,在任何情况下连接都失败了。
我试图检查 SDP 和候选人信息,但在那里我看不到任何问题:
这是 LOGCAT 失败的一个示例:
我该怎么做才能提高成功连接率?
android - 在 PeerConnection.IceServer 生成器错误时出现错误:找不到符号方法生成器(字符串)
我正在 android 中实现 Webrtc。在实施时我收到此错误
在 .builder 方法中出现错误,您还可以检查图像
我从这个演示中引用。这个演示工作正常,没有出现 .builder 问题。
请问各位大神知道怎么解决吗?
java - 什么是'@CalledByNative("...")'?
我该如何使用@CalledByNative("...")
?我需要来自 webrtc 库的回调。
如果你知道上面的 PeerConnection 类:
这是 PeerConnection 的旧版本,但现在几乎相同
我调用了函数addStream
,但我无法从中获取回调。
- 请解释如何
calledbynative
工作!
PeerConnection.java
android - 如何在原生 android 2019 中使用 WebRTC
如何在 Kotlin 中为 Android Studio 设置 WebRTC?我找不到可行的解决方案。请提供详细信息。
android - 在 AR-session Android 中使用 WebRTC 摄像头
我正在尝试用来自 webrtc 的流式摄像头的帧替换来自设备摄像头的帧(通常在 AR 会话中使用)。为了渲染我正在使用的 webrtc 流并渲染我正在使用的webrtc.SurfaceViewRenderer
AR 会话,这两个查看器按照他们应该单独执行的方式工作,但现在我想将它们组合起来。问题是我不知道如何从 webrtc 流中提取帧。我发现的 closets 函数是捕获像素,但它总是返回 null。opengl.GLSurfaceView
activity_main.xml
Bitmap bmp = surfaceViewRenderer.getDrawingCache();
如果我可以从 surfaceViewRenderer 获取像素,我的想法是将其绑定到纹理,然后将此纹理渲染为 AR 场景中的背景
这是使用设备摄像头渲染 AR 场景的代码:
这就是我的activity_main.xml
样子。最后我将删除 SurfaceViewRenderer 部分
android - 从 YUV 4:2:0 数据创建 VideoFrame
我想创建一个 CustomVideoCapturer,它将 YUV4:2:0 数据缓冲区转换为 VideoFrame,然后通过 webrtc 发送数据。
但是当前示例使用 Camera 作为 VideoCapturer 源,我没有找到任何帮助示例来进行此类转换。
我可以找到一个YuvConverter.java,但它是用于 TextureSurface 到 I420Buffer 的转换器。它不用于 YUV 数据缓冲区。
谁能帮助指导我实现该功能?
android - 前台服务中的 Android webRTC 调用
我正在创建一个具有音频通话功能的 Android 应用程序(Java 代码)。我设法使用 webRTC 框架使其工作。我想让我的音频通话表现得像 WhatsApp 和 Messenger,即使用户从应用历史记录中停止应用或开始使用其他应用,这些应用也会保持音频通话运行。
因此,我决定将 webRTC 代码从 Activity 迁移到 Foreground Service。我的音频通话 Activity 处理 UI,显示朋友照片、姓名、通话计时器……所以我必须通过绑定和发送 android.os.Message 对象在我的 Activity 和我的前台服务之间进行通信。
使用 SAMSUNG 设备时一切正常,如果我终止应用程序,我可以通过单击前台服务的通知返回呼叫活动,并且音频呼叫会一直工作直到我挂断。
当我使用小米设备(redmi note7)时出现了我的问题,如果我杀死该应用程序,音频通话停止,导致我的前台服务重新启动。即使从设置中启用“自动启动”。
我在这里搜索了一个解决方案,但我找到的所有答案都不能满足我的需要,因为我不能只接受我的服务被重新启动。如果我想恢复语音通话,我必须重新给朋友打电话!
那么问题来了:如何防止小米、华为、OPPO……设备重启前台服务?
WhatsAPP、Messenger、Instagram 等就是这种情况。
java - WebRTC + Android + 远程视频不显示
请查看以下代码,并让我知道我需要更改什么以显示远程视频。音频播放正常。工作 Webrtc.In onAddStream 方法的最新库我的 Videotrack 大小为 1,但未在 remoteVideoTrack addSink 方法中呈现。
android - 如何使用 Android API 为 WebRTC 设置硬件编码器
我使用的是 1.0.28513 版本,但不确定如何/在何处将 VP8 指定为我的视频编解码器以进行硬件加速。