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
相关产品推荐
相关产品推荐

