IOS技术分享| anyLive 开源项目

本文详细介绍了anyRTC开源项目anyLive在iOS平台上的推流、拉流功能实现,包括源码下载、开发环境配置、关键代码示例。anyLive支持Objective-C和Swift,提供跨平台兼容性,适用于Android、iOS、Windows和Mac等系统。通过示例代码展示了推流和拉流的流程,包括推流的首帧采集回调和推流状态更新,以及拉流的视频状态变化和播放器音量回调。

anyLive 简介

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

源码下载

anylive_github

开发环境

  • 开发工具:Xcode13 真机运行

  • 开发语言:Objective-C、Swift

  • 实现:推拉流。

平台兼容

系统 编译环境 CPU架构
Android 4.4及以上 Android Studio、NDK armeabi-v7a、arm64-v8a
iOS 9.0及以上 Xcode13 arm64
Windows 7及以上 VS2015,VS2017 x86、x86-64

项目结构

anyLive 实现了推流、拉流、屏幕共享、美颜等功能。

anylive_all

示例代码

效果展示

anylive_main

代码实现
    var menus = [
        [MenuItem(imageName: "icon_push", title: "直播推流", subTitle: "采用WebRTC底层架构,支持RTMP/HLS/HTTP-FLV")],
        [MenuItem(imageName: "icon_pull", title: "直播拉流(播放)", subTitle: "低功直播播放器,支持软硬解切换,横竖切换、低延迟等")],
        [MenuItem(imageName: "icon_video", title: "小视频播放", subTitle: "支持首屏秒开、清晰度无缝切换、码率自适应等多种特性")]
    ]

    let identifier = "ARLiveMainCell"
    lazy var identifierArr: [String] = {
        ["Live_JoinVC", "Player_JoinVC", "Video_JoinVC"]
    }()

    override func viewDidLoad() {
        super.viewDidLoad()

        // Uncomment the following line to preserve selection between presentations
        // self.clearsSelectionOnViewWillAppear = false

        // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
        // self.navigationItem.rightBarButtonItem = self.editButtonItem
        let label = UILabel(frame: CGRectZero)

        label.textColor = UIColor(hexString: "#C4C4CE")
        label.font = UIFont(name: PingFang, size: 12)
        label.textAlignment = .center
        label.text = "Power by anyRTC"
        view.addSubview(label)

        liveEngine = ARLiveEngineKit(delegate: nil)
    }

    override func viewWill
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值