телефона?
Все аудиоплееры воспроизводят звук в динамике громкой связи...
Я хочу воспроизвести гудок при исходящем вызове VoIP (WebRTC)
нашли как сделать сигнал вызова в динамике без плеера?
Нет. Вывод сигнала рингтона при voip-вызове я сделал через локальные уведомления (через каналы в нативе для андроид, для ios использовал callkit). А вот вывод гудка ожидания соединения - пришлось делать через плеер. Но очень косячно получается, webrtc меняет режимы аудио, а если ещё включать/выключать громкую связь - вообще цирк получается. Причем гудок нужно вывести до создания webrtc сессии и продолжить после ее создания. Короче, все сложно. ))))
ну да, там еще проблема на ios - если так делать, то часы переходят в режим плеера и получается пока идет сессия между клиентами, то часы показывают что играет музыка.... фигня. я отрубил себе этот функционал. а как нат победить с p2p соединениям? я что-то ни как не могу добится сессии вне локальной сети. постоянно ругается ice что RTCIceConnectionState.RTCIceConnectionStateChecking и потом RTCIceConnectionState.RTCIceConnectionStateFailed пробовал и на своем турн сервере и гугловом, одна и та же беда.
У Гугла нет turn сервера, по-крайней мере, общедоступного. Только stun
ну да, стун я и имел ввиду, у них там разница только с поддержкой авторизации и без. так - одна фигня. мой сервак выдает done:
stun отличается от turn тем, что turn обходит NAT, пропуская через себя траф, а stun просто определяет твои пиры (ip-адреса)
а в конфиг что-то еще нужно дополнительно писать? 'iceServers': [ { 'urls': ['stun:stun1.l.google.com:19302'] } ], }; я так пробовал и еще потом добовлял 'iceTransportPolicy': 'relay', 'sdpSemantics': 'uinified-plan'
Так а ice кандидаты ходят между клиентами? Там есть typ relay?
да: [log] Got new remote ICE candidate: {"sdpMLineIndex":0,"candidate":"candidate:1238850352 1 udp 2122063615 10.0.11.10 61887 typ host generation 0 ufrag +rkk network-id 4 network-cost 50","sdpMid":"audio"} [log] Connection state change: RTCPeerConnectionState.RTCPeerConnectionStateConnecting [log] Connection state change: RTCPeerConnectionState.RTCPeerConnectionStateConnected [log] ICE connection state change: RTCIceConnectionState.RTCIceConnectionStateConnected [log] ICE connection state change: RTCIceConnectionState.RTCIceConnectionStateCompleted [log] ICE connection state change: RTCIceConnectionState.RTCIceConnectionStateConnected [log] Got new remote ICE candidate: {"sdpMLineIndex":0,"candidate":"candidate:4014499274 1 tcp 1518280447 192.168.100.13 63957 typ host tcptype passive generation 0 ufrag +rkk network-id 1 network-cost 10","sdpMid":"audio"}
Обсуждают сегодня