flutter_aws_chime 1.1.0+1
flutter_aws_chime: ^1.1.0+1 copied to clipboard
A live stream flutter plugin base on aws chime.
Flutter Live Stream Meeting Plugin base on AWS Chime #
A Flutter plugin project for iOS, Android and Web for live stream meeting on a widget surface
Android | iOS | Web | |
---|---|---|---|
Support | SDK 21+ | 11.0+ | NotYet |
Preview Images #
Installation #
First, add flutter_aws_chime
as a dependency in your pubspec.yaml file.
iOS #
Add permissions in Info.plist
Android #
If you are using network-based videos, ensure that the following permission is present in your
Android Manifest file, located in <project root>/android/app/src/main/AndroidManifest.xml
:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
Example #
import 'package:flutter/material.dart';
import 'package:flutter_aws_chime/models/join_info.model.dart';
import 'package:flutter_aws_chime/views/meeting.view.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SafeArea(
child: Scaffold(
body: MeetingView(
JoinInfo(
MeetingInfo.fromJson({
'MeetingId': '',
'ExternalMeetingId': '',
'MediaRegion': 'us-east-1',
'MediaPlacement': {
"AudioFallbackUrl": "",
"AudioHostUrl": "",
"EventIngestionUrl": "",
"ScreenDataUrl": "",
"ScreenSharingUrl": "",
"ScreenViewingUrl": "",
"SignalingUrl": "",
"TurnControlUrl": ""
},
}),
AttendeeInfo.fromJson(
{"AttendeeId": "", "ExternalUserId": "", "JoinToken": ""}),
),
),
),
),
);
}
}
Furthermore, see the example app for playing around.
Usage and APIs #
Most of useful functions are integrated inside native, so it's easy for you to use without implementing them in flutter code. Please see how to use and the API documentation, if you have any requests you could create an issue
List functions #
Android | iOS | |
---|---|---|
Video and Audio | ✔️ | ✔️ |
Mute self and turn on/off video | ✔️ | ✔️ |
See shared screen content | ✔️ | ✔️ |
Message chat | ✔️ | ✔️ |
Toggle full screen | ✔️ | ✔️ |
FullScreen | ✔️ | ✔️ |
Poster Image | ✔️ | ✔️ |
Prevent Screen Capture | WIP | WIP |
Marquee Text | WIP | WIP |
APIs #
MeetingView Widget Parameters
JoinInfo required
It's required when you use with MeetingView Widget, the JoinInfo model has below attributes
Type | Required | Comment | |
---|---|---|---|
MeetingInfo | Model | YES | meeting info from aws_chime_sdk |
AttendeeInfo | Model | YES | attendee info from aws_chime_sdk |
How to create meeting info?
You can use @aws-sdk/client-chime-sdk-meetings CreateMeetingCommand to create one, please check out this link
How to create attendee info?
You can use @aws-sdk/client-chime-sdk-meetings CreateAttendeeCommand to create one, please check out this link