https://github.com/ionorg/ion-sdk-flutter
ion flutter sdk
https://github.com/ionorg/ion-sdk-flutter
flutter ion sdk
Last synced: 5 months 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 (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-11-02T00:50:14.000Z (over 3 years ago)
- Last Synced: 2024-09-05T13:13:35.798Z (almost 2 years 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
[](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();
```