• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    Dart
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ion flutter sdk

Flutter sdk for ion

pub package

Flutter sdk for the Ion backend.

Installation

Edit pubspec.yaml in your flutter projects.

Add

    flutter_ion:

Platform Support

  • Android
  • iOS
  • macOS
  • Web

Usage

import 'package:flutter_ion/flutter_ion.dart' as ion;
import 'package:uuid/uuid.dart';

// Connect to ion-sfu.
final signal = ion.JsonRPCSignal("ws://ion-sfu:7000/ws");

final String _uuid = Uuid().v4();

ion.Client client = await ion.Client.create(sid: "test session", uid: _uuid, signal: signal);

client.ontrack = (track, ion.RemoteStream stream) {
    /// mute a remote stream
    stream.mute();
    /// unmute a remote stream
    stream.unmute();

    if (track.kind == "video") {
       /// prefer a layer
       stream.preferLayer(ion.Layer.medium);
       
       /// render remote stream.
       /// remoteRenderer.srcObject = stream.stream;
    }
};

ion.LocalStream localStream = await ion.LocalStream.getUserMedia(
               constraints: ion.Constraints.defaults..simulcast = true);

/// render local stream.
/// localRenderer.srcObject = localStream.stream;

/// publish stream
await client.publish(localStream);

/// mute local straem
localStream.mute();

/// unmute local stream
localStream.unmute();