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
50
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