openvidu_client 0.0.2 copy "openvidu_client: ^0.0.2" to clipboard
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

5
likes
140
points
1
downloads

Publisher

unverified uploader

Weekly Downloads

OpenVidu Flutter client for real time audio and video meetings.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

collection, flutter, flutter_web_plugins, flutter_webrtc, logger, meta, plugin_platform_interface, web_socket_channel

More

Packages that depend on openvidu_client

Packages that implement openvidu_client