MRTC-Flutter-Sample-SDK

优质
小牛编辑
127浏览
2023-12-01

接入指南

  1. 添加依赖 在pubspec.yaml文件中添加对MRTC的依赖如下:

    dependencies:
     flutter:
       sdk: flutter
     mrtc_flutter: ^1.0.0
    

    然后执行flutter packages get即可拉取此库

  2. 如何使用 在需要使用到推拉流服务的.dart文件中加入

    import 'package:mrtc_flutter/mrtc_flutter.dart';
    

    即可开始编码

  3. 注意事项

    • 当再使用推拉流时应调用destory函数释放内存
    • 使用此SDK时应在iOS工程的info.plist中添加配置io.flutter.embedded_views_preview = YES
    • 尽量复用创建的nativeView,因为目前Flutter存在bug,会造成内存泄漏
    • 低版本flutter SDK iOS端首屏会出现花屏,触发一次setState()重新绘制后会恢复正常,升级flutter SDK可以解决
    • Mrtc.createNativeView返回的Widget放在渲染树上后才会真正的创建nativeView触发回调

如何使用

  1. 首先如下例创建MRTCLiveView:
        //这里的setting使用默认配置,自定义配置将在下面介绍
        MRTCSetting setting = MRTCSetting();
        //创建MRTCSample
        MRTCSample sample = MRTCSample(
            pushUrl:'推流地址',
            pushSetting:setting,
        );
        //使用MRTCSample创建MRTCLiveView
        //以下参数均为可选参数
        MRTCLiveView liveView = sample.CreateLiveView(
            pushSucceed:() {
                //推流成功回调
            },
            pushFailed:(int errCode,String errStr) {
                //推流失败回调
            },
            pushOnError:(int errCode,String errStr) {
                //推流错误回调
            },
            pushDisconnected:() {
                //推流断开回调
            }
            pullSucceed:(String pullUrl) {
                //拉流成功回调
            },
            pullFailed:(String pullUrl,int errCode,String errStr) {
                //拉流失败回调
            },
            pullOnError:(String pullUrl,int errCode,String errStr) {
                //拉流错误回调
            },
            pullDisconnected:(String pullUrl) {
                //拉流断开回调
            },
        );
    
  2. 将创建出来的liveView放入您的渲染树中如下例: