Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ionorg/ion-sdk-flutter
ion flutter sdk
https://github.com/ionorg/ion-sdk-flutter
flutter ion sdk
Last synced: 10 days ago
JSON representation
ion flutter sdk
- Host: GitHub
- URL: https://github.com/ionorg/ion-sdk-flutter
- Owner: ionorg
- License: mit
- Created: 2020-05-04T03:09:08.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-02T00:50:14.000Z (about 2 years ago)
- Last Synced: 2024-09-05T13:13:35.798Z (2 months ago)
- Topics: flutter, ion, sdk
- Language: Dart
- Homepage:
- Size: 322 KB
- Stars: 116
- Watchers: 13
- Forks: 74
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Flutter sdk for ion
[![pub package](https://img.shields.io/pub/v/flutter_ion.svg)](https://pub.dartlang.org/packages/flutter_ion)
Flutter sdk for the Ion backend.
## Installation
Edit `pubspec.yaml` in your flutter projects.
Add
```yml
flutter_ion:
```## Platform Support
* Android
* iOS
* macOS
* Web## Usage
```dart
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();```