问题标签 [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.

0 投票
1 回答
1558 浏览

android - webRTC 在 peerConnection.dispose() 上崩溃

我正在使用本机 WebRTC 和我的 Java Signaling Server 开发视频聊天应用程序。

我成功地创建了连接并且它工作得很好。

但是,当我尝试断开呼叫时,应用程序崩溃并显示以下错误消息:

当我调用 peerConnection.dispose() 或 peerConnection.close(); 时发生崩溃;

这是我断开呼叫的代码:

我曾尝试先调用 peerConnection.dispose() 但它仍然崩溃。无论尝试过什么,它总是因以下原因而崩溃:

我做错了什么?

0 投票
1 回答
657 浏览

android - Android WebRTC 连接成功率低

我正在使用原生 android WebRTC 开发视频聊天应用程序。我正在使用公共 google STUN 服务器和 XIRRYS STUN 和 TURN 服务器。

我的问题是连接成功率很低!

连接成功率如下:

  • 当我使用 WIFI 网络时,大约 50% 的连接失败
  • 当我使用移动互联网时,大约90% 的连接失败。

在所有情况下,offer、answer 和 Candidate 消息都很好地通过信令服务器运行,但正如我所说,在任何情况下连接都失败了。

我试图检查 SDP 和候选人信息,但在那里我看不到任何问题:

这是 LOGCAT 失败的一个示例:

我该怎么做才能提高成功连接率?

0 投票
0 回答
178 浏览

android - 在 PeerConnection.IceServer 生成器错误时出现错误:找不到符号方法生成器(字符串)

我正在 android 中实现 Webrtc。在实施时我收到此错误

点击此处查看问题

在 .builder 方法中出现错误,您还可以检查图像

我从这个演示中引用。这个演示工作正常,没有出现 .builder 问题。

请问各位大神知道怎么解决吗?

0 投票
2 回答
995 浏览

java - 什么是'@CalledByNative("...")'?

我该如何使用@CalledByNative("...")?我需要来自 webrtc 库的回调。

如果你知道上面的 PeerConnection 类:

PeerConnection.java

这是 PeerConnection 的旧版本,但现在几乎相同

我调用了函数addStream,但我无法从中获取回调。

  • 请解释如何calledbynative工作!

PeerConnection.java

0 投票
2 回答
3279 浏览

android - 如何在原生 android 2019 中使用 WebRTC

如何在 Kotlin 中为 Android Studio 设置 WebRTC?我找不到可行的解决方案。请提供详细信息。

0 投票
1 回答
1846 浏览

android - 在 AR-session Android 中使用 WebRTC 摄像头

我正在尝试用来自 webrtc 的流式摄像头的帧替换来自设备摄像头的帧(通常在 AR 会话中使用)。为了渲染我正在使用的 webrtc 流并渲染我正在使用的webrtc.SurfaceViewRendererAR 会话,这两个查看器按照他们应该单独执行的方式工作,但现在我想将它们组合起来。问题是我不知道如何从 webrtc 流中提取帧。我发现的 closets 函数是捕获像素,但它总是返回 null。opengl.GLSurfaceViewactivity_main.xmlBitmap bmp = surfaceViewRenderer.getDrawingCache();

如果我可以从 surfaceViewRenderer 获取像素,我的想法是将其绑定到纹理,然后将此纹理渲染为 AR 场景中的背景

我一直在关注的代码可以在https://github.com/google-ar/arcore-android-sdk/blob/master/samples/hello_ar_java/app/src/main/java/com/google/ar/找到核心/examples/java/helloar/HelloArActivity.java

这是使用设备摄像头渲染 AR 场景的代码:

这就是我的activity_main.xml样子。最后我将删除 SurfaceViewRenderer 部分

0 投票
0 回答
137 浏览

android - 从 YUV 4:2:0 数据创建 VideoFrame

我想创建一个 CustomVideoCapturer,它将 YUV4:2:0 数据缓冲区转换为 VideoFrame,然后通过 webrtc 发送数据。

但是当前示例使用 Camera 作为 VideoCapturer 源,我没有找到任何帮助示例来进行此类转换。

我可以找到一个YuvConverter.java,但它是用于 TextureSurface 到 I420Buffer 的转换器。它不用于 YUV 数据缓冲区。

谁能帮助指导我实现该功能?

0 投票
1 回答
864 浏览

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 等就是这种情况。

0 投票
1 回答
756 浏览

java - WebRTC + Android + 远程视频不显示

请查看以下代码,并让我知道我需要更改什么以显示远程视频。音频播放正常。工作 Webrtc.In onAddStream 方法的最新库我的 Videotrack 大小为 1,但未在 remoteVideoTrack addSink 方法中呈现。

0 投票
1 回答
874 浏览

android - 如何使用 Android API 为 WebRTC 设置硬件编码器

我使用的是 1.0.28513 版本,但不确定如何/在何处将 VP8 指定为我的视频编解码器以进行硬件加速。