You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android客户端与Node.js Gemini服务器WebRTC PeerConnection ICE交换后偶发失败

问题:WebRTC连接在ICE候选交换后偶发失败,音频流中断

我正在开发一款开源Android助手应用,采用Node.js服务器作为Google Gemini API的桥接层,通过WebRTC实现Android客户端与服务器间的实时音频流传输。目前遇到的问题是:Android应用与Node.js服务器间的WebRTC连接有时会在ICE候选交换后失败,PeerConnection状态变为failed,音频流随即停止。

服务器关键日志如下:

Received message from client app: WEBRTC_OFFER
 Received WEBRTC_OFFER
 Added RTCAudioSource track to PeerConnection for outgoing audio.
Received message from client app: WEBRTC_ICE_CANDIDATE
Track event received. Track Kind: audio, ID: ..., Label: undefined
 Audio track received. Properties: id=..., kind=audio, readyState=live, muted=false
 RTCAudioSink created for track ID: ...
Added ICE candidate
WebRTC PeerConnection state changed: new
 Sent WEBRTC_ANSWER
 (multiple ICE candidates exchanged and added)
Sending 3200 bytes of PCM data (approx. 100ms) to Gemini.
WebRTC PeerConnection state changed: failed
WebRTC PeerConnection failed.
WebRTC connection closed/failed/disconnected. Stopping audio sink if it exists.
RTCAudioSink stopped due to connection state change.

我已尝试添加重连机制,但问题仍未解决。若有人能解决此问题,我将万分感激。

标签:#webrtc #node.js #android #ice-candidates #rtcpeerconnection #wrtc

内容的提问来源于stack exchange,提问作者Bhaskar-kumar-arya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 21:58:15