openvidu_client 0.0.2
openvidu_client: ^0.0.2 copied to clipboard
OpenVidu Flutter client for real time audio and video meetings.
openvidu_client #
OpenVidu Flutter client.
Getting Started #
First, add the openvidu_client
package to your pubspec dependencies.
To import OpenViduClient
:
import 'package:openvidu_client/openvidu_client.dart';
OpenViduClient #
To use OpenViduClient
create a instance with the URL of the OpenVidu Server:
client = OpenViduClient('https://demos.openvidu.io/openvidu');
startLocalPreview #
Start the local preview, and return the local participant
localParticipant = await _openvidu.startLocalPreview(context, StreamMode.frontCamera);
on #
Config listener to the events that are emitted by the OpenVidu library; remember subscribe remotes inside OpenViduEvent.userJoined and OpenViduEvent.userPublished.
void listenSessionEvents() {
client.on(OpenViduEvent.userJoined, (params) async {
await client.subscribeRemoteStream(params["id"]);
});
client.on(OpenViduEvent.userPublished, (params) {
await client.subscribeRemoteStream(params["id"],
video: params["videoActive"], audio: params["audioActive"]);
});
client.on(OpenViduEvent.addStream, (params) {
remoteParticipants = {...client.participants};
//Catch changes on remote participant
});
client.on(OpenViduEvent.removeStream, (params) {
remoteParticipants = {...client.participants};
//Catch changes on remote participant
});
client.on(OpenViduEvent.publishVideo, (params) {
remoteParticipants = {...client.participants};
//Catch changes on remote participant
});
client.on(OpenViduEvent.publishAudio, (params) {
//Catch changes on remote participant
});
client.on(OpenViduEvent.updatedLocal, (params) {
localParticipant = params['localParticipant'];
//Update the local participant
});
client.on(OpenViduEvent.reciveMessage, (params) {
//Capture message received
});
client.on(OpenViduEvent.userUnpublished, (params) {
remoteParticipants = {...client.participants};
//Catch changes on remote participant
});
client.on(OpenViduEvent.error, (params) {
//Capture error messages
});
}
publishLocalStream #
It joins to the room, and returns the local participant
- token (String): The token you get from the server.
- userName (String): The name of the user who is publishing the stream.
- extraData (Map<String, dynamic>): Extra data to be sent to the server.
LocalParticipant #
shareScreen
It changes the stream mode from camera to screen and vice versa.
setAudioInput #
Replace the track with the new track by deviceId
setVideoInput #
Switches the camera to the deviceId passed in
switchCamera #
Can switch between cameras
unpublishAllTracks #
It disables all the tracks of the local stream
publishVideo #
It enables or disables the video track of the local stream
publishAudio #
Enable or disable the audio track of the stream, depending on the value of the parameter