AndroidRTC基于WebRTC的音视频通信
androidrtc 的音视频通信,是用的 Google 家开源的WebRTC库。这个库挺猛,点对点传输、低延迟、带宽自适应啥的都能搞定,关键是还能跨平台。你直接在安卓端集成,就能做出一个视频通话 App,体验也还不错。
WebRTC 里的音频/视频流部分,其实用起来不复杂。你只要搞清楚几个核心组件,比如PeerConnection
、MediaStream
、SurfaceViewRenderer
这些,基本就能跑起来。代码写得清楚点,调试的时候也不至于太头大。
如果你还卡在信令这一块,不妨看看这个 WebSocket 配合 WebRTC 的文章,用来传交换信息挺合适的。还有STUN
和TURN
服务,建议一开始先用 Google 的免费服务测试。
想直接上手的,推荐你看看这篇WebRTC Android Kotlin,代码比较新,也好读。顺手也可以翻下WebRTC 源代码,哪怕不全部看,了解下原理也有。
哦对了,UI 展示部分别忘了用SurfaceViewRenderer
或者TextureView
,不然你会发现黑屏或者画面延迟的问题蛮多。布局里建议提前预留好大小,否则适配那块会烦死人。
如果你本来就是在做electron
或react
项目,那也可以顺带看看electron-react-webrtc的实现,思路是通的,多配置项都能互相借鉴。
音视频这块,坑肯定不少,但你要是理清了传输流程、设备采集、权限这些点,后面就流畅多了。想偷懒也不是不行,像imsdroid也有现成例子可以扒来改。
如果你刚开始折腾 Android 上的音视频通信,建议从最 demo 入手,一步步拆分组件调试。别想着一口气干全套,分阶段来,轻松点。
113.28KB
文件大小:
评论区