Android技术分享|anyLive 开源项目

adminadmin 欧易资讯 2026-07-23 40 0

简介

anyLive 是开源的推拉流项目,本项目采用跨平台架构设计,一套代码支持Android、iOS、Windows、Mac、Ubuntu等平台。本文主要介绍 anyLive Android 平台的实现。

此项目中包含对 JNI 的使用,WebRTC Native 的实践,音视频编解码的相关实现,如果有兴趣,可以阅读源码,点个Star。

功能特性Demo展示

Android技术分享|anyLive 开源项目

项目源码

GO(https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource/tree/master/Prj-Android)

编译注意事项

使用 AndroidStudio 打开之前,需要下载 webRTC,ffmpeg库。

下载地址:Lib(

http://storage.agrtc.cn/share/GqLZRZV3)

下载解压缩后将lib文件夹移至:liveplayer/src/main/cpp 目录下即可

请使用 NDK 版本:20.0.5594570 编译,否则可能会出现各种错误

API调用ArLiveEngine创建引擎

//用于创建播放器、推流器
val liveEngine = ArLiveEngine.create(context:Context)

释放引擎

ArLiveEngine.release()

创建推流器

liveEngine.createArLivePusher()

创建播放器

liveEngine.createArLivePlayer()

ArLivePusher设置推流器回调

void setObserver(ArLivePusherObserver observer)

设置本地摄像头预览 View

int setRenderView(TextureViewRenderer view)

打开摄像头

int startCamera(boolean frontCamera)

开始推流

int startPush(String url)

更多方法请参考 ArLivePusher(

https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource/blob/master/Prj-Android/liveplayer/src/main/java/io/anyrtc/live/ArLivePusher.java) 类注释

ArLivePlayer设置播放器器回调

void setObserver(ArLivePlayerObserver observer)

设置播放器的视频渲染 View

int setRenderView(TextureViewRenderer view)

开始播放

int startPlay(String url)

更多方法请参考 ArLivePusher (

https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource/blob/master/Prj-Android/liveplayer/src/main/java/io/anyrtc/live/ArLivePlayer.java)类注释

版权声明

本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。

喜欢0评论已闭