Agora Whiteboard SDK
A Flutter Plugin of Agora Whiteboard SDK
Installation
Add whiteboard_sdk_flutter to your pubspec:
dependencies:
whiteboard_sdk_flutter: ^0.5.3
Android
Configure your app to use the INTERNET
permission in the manifest file located
in:
<project root>/android/app/src/main/AndroidManifest.xml
:
<uses-permission android:name="android.permission.INTERNET"/>
Sample Usage
Live Room
- Init whiteboard using
WhiteSdkOptions
,WhiteSdk
can be fetch ononSdkCreated
- call
WhiteSdk.joinRoom
usingRoomOptions
to fetch aWhiteRoom
WhiteRoom
is a controller to Live-Whiteboard
Widget build(BuildContext context) {
return new WhiteboardView(
options: WhiteOptions(
appIdentifier: APP_ID,
log: true,
),
onSdkCreated: (sdk) async {
// use sdk to join room
var room = await sdk.joinRoom(
options: RoomOptions(
uuid: ROOM_UUID,
roomToken: ROOM_TOKEN,
uid: UNIQUE_CLIENT_ID,
isWritable: true,
),
);
setState(() {
whiteSdk = sdk;
whiteRoom = room;
});
},
);
}
Replay
- Init whiteboard using
WhiteSdkOptions
,WhiteSdk
can be fetch ononSdkCreated
- call
WhiteSdk.joinReplay
usingReplayOptions
to fetchWhiteReplay
WhiteReplay
is a controller to Record-Whiteboard
Widget build(BuildContext context) {
return new WhiteboardView(
options: WhiteOptions(
appIdentifier: APP_ID,
log: true,
backgroundColor: Color(0xFFF9F4E7),
),
onSdkCreated: (whiteSdk) async {
// use sdk to join replay
var replay = await sdk.joinReplay(
options: ReplayOptions(room: ROOM_UUID, roomToken: ROOM_TOKEN),
onPlayerStateChanged: _onPlayerStateChanged,
onPlayerPhaseChanged: _onPlayerPhaseChanged,
onScheduleTimeChanged: _onScheduleTimeChanged,
);
setState(() {
whiteSdk = sdk;
whiteReplay = replay;
});
},
);
}
Example
See the example/
folder for a working example app.
Common apis can be found in the examples/
Contributor
Thanks To liuhong1happy for the first version of flutter whiteboard.