- *
Additional button
- *
Click Me
+ * _You can check the sample [here]()_.
+ *
+ *
+ *```html
+ *
+ *
+ * Toggle Video
+ * Toggle Audio
*
*
+ * ```
*
- *
- * 2. Adding it to an element as child of the element tagged with the {@link ToolbarDirective}
- * @example
- *
- *
- *
- * Additional button
- * Click Me
- *
- *
- *
+ * ```javascript
+ * export class ToolbarAdditionalButtonsDirectiveComponent {
+ * tokens: TokenModel;
+ * sessionId = 'toolbar-additionalbtn-directive-example';
*
+ * OPENVIDU_URL = 'https://localhost:4443';
+ * OPENVIDU_SECRET = 'MY_SECRET';
+ *
+ * constructor(
+ * private restService: RestService,
+ * private openviduService: OpenViduService,
+ * private participantService: ParticipantService
+ * ) {}
+ *
+ * async onJoinButtonClicked() {
+ * this.tokens = {
+ * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET),
+ * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET)
+ * };
+ * }
+ *
+ * toggleVideo() {
+ * const publishVideo = !this.participantService.isMyVideoActive();
+ * this.openviduService.publishVideo(publishVideo);
+ * }
+ *
+ * toggleAudio() {
+ * const publishAudio = !this.participantService.isMyAudioActive();
+ * this.openviduService.publishAudio(publishAudio);
+ * }
+ * }
+ * ```
+ *
+ *
+ *
*/
@Directive({
selector: '[ovToolbarAdditionalButtons]'
@@ -53,18 +124,6 @@ export class ToolbarAdditionalButtonsDirective {
constructor(public template: TemplateRef
, public viewContainer: ViewContainerRef) {}
}
-/**
- * The ***ovPanel** directive allows to replace the default panel component injecting your custom template.
- *
- * This directive is closely related to {@link ChatPanelDirective} and {@link ParticipantsPanelDirective}.
- *
- *
- * @example
- *
- * ...
- *
- *
- */
@Directive({
selector: '[ovPanel]'
@@ -75,29 +134,77 @@ export class PanelDirective {
/**
- * The ***ovChatPanel** directive allows to replace the defaultchat panel template injecting your own component.
- * There are two ways to use this directive:
+ * The ***ovChatPanel** directive allows to replace the default chat panel template injecting your own component.
+ * Here we're going to redefine the chat template in a few code lines.
*
- * 1. Adding it to an element as a child of the parent element **_ov-videoconference_** {@link VideoconferenceComponent}
- * @example
- *
- *
+ * _You can check the sample [here]()_.
+ *
+ * ```html
+ *
+ *
+ *
Chat
+ *
+ *
+ *
Send
+ *
*
+ *```
*
- *
- * 2. Adding it to an element as child of the element tagged with the {@link ToolbarDirective}
- * @example
- *
- *
- *
- *
- *
*
- *
- *
INFO:
- * You also can use the default components adsada dasda d asd
+ * As we need to get the OpenVidu Browser [Session](https://docs.openvidu.io/en/stable/api/openvidu-browser/classes/Session.html)
+ * for sending messages to others, we can get it from the `onSessionCreated` event fired by the {@link VideoconferenceComponent} when the session has been created.
+ *
+ * Once we have the session created, we can use the `signal` method for sending our messages.
+ *
+ *
+ *
+ * ```javascript
+ * export class ChatPanelDirectiveComponent {
+ * tokens: TokenModel;
+ * sessionId = 'chat-panel-directive-example';
+ * OPENVIDU_URL = 'https://localhost:4443';
+ * OPENVIDU_SECRET = 'MY_SECRET';
+ * session: Session;
+ * messages: string[] = [];
+ * constructor(private restService: RestService) {}
+ *
+ * async onJoinButtonClicked() {
+ * this.tokens = {
+ * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET),
+ * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET)
+ * };
+ * }
+ *
+ * onSessionCreated(session: Session) {
+ * this.session = session;
+ * this.session.on(`signal:${Signal.CHAT}`, (event: any) => {
+ * const msg = JSON.parse(event.data).message;
+ * this.messages.push(msg);
+ * });
+ * }
+ *
+ * send(message: string): void {
+ * const signalOptions: SignalOptions = {
+ * data: JSON.stringify({ message }),
+ * type: Signal.CHAT,
+ * to: undefined
+ * };
+ * this.session.signal(signalOptions);
+ * }
+ *}
+ * ```
+ *
+ *
+ *
*
- *
*/
@Directive({
selector: '[ovChatPanel]'
@@ -106,6 +213,79 @@ export class ChatPanelDirective {
constructor(public template: TemplateRef
, public viewContainer: ViewContainerRef) {}
}
+/**
+ * The ***ovParticipantsPanel** directive allows to replace the default participants panel template injecting your own component.
+ * Here we're going to redefine the participants template in a few code lines.
+ *
+ * _You can check the sample [here]()_.
+ *
+ * ```html
+ *
+ *
+ *
+ * {{localParticipant.nickname}}
+ *
+ *
+ *
+ *
+ *
+ *```
+ *
+ *
+ * As we need to get the participants in our session, we are subscribing to them using the {@link ParticipantService}. We'll get the local participant
+ * and the remote participants and we will be able to update the participants panel on every update.
+ *
+ *
+ * ```javascript
+ * export class ParticipantsPanelDirectiveComponent implements OnInit, OnDestroy {
+ * tokens: TokenModel;
+ * sessionId = 'participants-panel-directive-example';
+ * OPENVIDU_URL = 'https://localhost:4443';
+ * OPENVIDU_SECRET = 'MY_SECRET';
+ * localParticipant: ParticipantAbstractModel;
+ * remoteParticipants: ParticipantAbstractModel[];
+ * localParticipantSubs: Subscription;
+ * remoteParticipantsSubs: Subscription;
+ *
+ * constructor(
+ * private restService: RestService,
+ * private participantService: ParticipantService
+ * ) {}
+ *
+ * ngOnInit(): void {
+ * this.subscribeToParticipants();
+ * }
+ *
+ * ngOnDestroy() {
+ * this.localParticipantSubs.unsubscribe();
+ * this.remoteParticipantsSubs.unsubscribe();
+ * }
+ *
+ * async onJoinButtonClicked() {
+ * this.tokens = {
+ * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET),
+ * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET)
+ * };
+ * }
+ * subscribeToParticipants() {
+ * this.localParticipantSubs = this.participantService.localParticipantObs.subscribe((p) => {
+ * this.localParticipant = p;
+ * });
+ *
+ * this.remoteParticipantsSubs = this.participantService.remoteParticipantsObs.subscribe((participants) => {
+ * this.remoteParticipants = participants;
+ * });
+ * }
+ * }
+ *
+ * ```
+ *
+ *
+ *
+ *
+ */
@Directive({
selector: '[ovParticipantsPanel]'
})
@@ -127,6 +307,80 @@ export class ParticipantPanelItemElementsDirective {
constructor(public template: TemplateRef, public viewContainer: ViewContainerRef) {}
}
+
+/**
+ *
+ * The ***ovLayout** directive allows us replacing the default layout with ours. As we have to add a stream for each participant,
+ * we must get the local and remote participants.
+ *
+ * As the deafult {@link StreamComponent} needs the participant stream, and as the participants streams extraction is not trivial,
+ * openvidu-angular provides us a {@link ParticipantStreamsPipe}for extracting the streams of each participant with ease.
+ *
+ * _You can check the sample [here]()_.
+ *
+ * ```html
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *```
+ *
+ * ```javascript
+ * export class LayoutDirectiveComponent implements OnInit, OnDestroy {
+ * tokens: TokenModel;
+ * sessionId = 'participants-panel-directive-example';
+ * OPENVIDU_URL = 'https://localhost:4443';
+ * OPENVIDU_SECRET = 'MY_SECRET';
+ * localParticipant: ParticipantAbstractModel;
+ * remoteParticipants: ParticipantAbstractModel[];
+ * localParticipantSubs: Subscription;
+ * remoteParticipantsSubs: Subscription;
+ *
+ * constructor(
+ * private restService: RestService,
+ * private participantService: ParticipantService
+ * ) {}
+ *
+ * ngOnInit(): void {
+ * this.subscribeToParticipants();
+ * }
+ *
+ * ngOnDestroy() {
+ * this.localParticipantSubs.unsubscribe();
+ * this.remoteParticipantsSubs.unsubscribe();
+ * }
+ *
+ * async onJoinButtonClicked() {
+ * this.tokens = {
+ * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET),
+ * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET)
+ * };
+ * }
+ * subscribeToParticipants() {
+ * this.localParticipantSubs = this.participantService.localParticipantObs.subscribe((p) => {
+ * this.localParticipant = p;
+ * });
+ *
+ * this.remoteParticipantsSubs = this.participantService.remoteParticipantsObs.subscribe((participants) => {
+ * this.remoteParticipants = participants;
+ * });
+ * }
+ * }
+ *
+ * ```
+ *
+ *
+ *
+ *
+ */
@Directive({
selector: '[ovLayout]'
})
@@ -135,29 +389,42 @@ export class LayoutDirective {
}
/**
- * The ***ovStream** directive allows to replace the default stream component template injecting your own component.
- * There are two ways to use this directive:
+ * The ***ovStream** directive allows to replace the default {@link StreamComponent} template injecting your own component.
+ * In the example below, we have to customize the nickname position and styles replacing the default stream.
*
- * 1. Adding it to an element as a child of the parent element **_ov-videoconference_** {@link VideoconferenceComponent}
- * @example
- *
+ * With ***ovStream** directive we can access to the stream object from its context using the `let` keyword and
+ * referencing to the `stream` variable: `*ovStream="let stream"`. Now we can access to the {@link StreamModel} object.
*
+ * _You can check the sample [here]()_.
*
- *
+ * ```html
+ *
+ *
+ *
+ *
{{stream.participant.nickname}}
+ *
*
+ * ```
*
- *
- * 2. Adding it to an element as child of the element tagged with the {@link ToolbarDirective}
- * @example
- *
- *
- *
- *
- *
+ * ```javascript
+ * export class StreamDirectiveComponent {
+ * tokens: TokenModel;
+ * sessionId = 'toolbar-directive-example';
+ * OPENVIDU_URL = 'https://localhost:4443';
+ * OPENVIDU_SECRET = 'MY_SECRET';
*
- *
- *
INFO:
- * You also can use the default components adsada dasda d asd
+ * constructor(private restService: RestService) {}
+ *
+ * async onJoinButtonClicked() {
+ * this.tokens = {
+ * webcam: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET),
+ * screen: await this.restService.getToken(this.sessionId, this.OPENVIDU_URL, this.OPENVIDU_SECRET)
+ * };
+ * }
+ * }
+ * ```
+ *
+ *
*
*
*/
diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/pipes/participant.pipe.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/pipes/participant.pipe.ts
index a6f4817a..12ede04a 100644
--- a/openvidu-components-angular/projects/openvidu-angular/src/lib/pipes/participant.pipe.ts
+++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/pipes/participant.pipe.ts
@@ -1,9 +1,6 @@
import { Pipe, PipeTransform } from '@angular/core';
import { StreamModel, ParticipantAbstractModel } from '../models/participant.model';
-/**
- * @internal
- */
@Pipe({ name: 'streams' })
export class ParticipantStreamsPipe implements PipeTransform {
constructor() {}
diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts
index 4f9ca494..3e68f17f 100644
--- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts
+++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/openvidu/openvidu.service.ts
@@ -212,7 +212,7 @@ export class OpenViduService {
private unpublish(publisher: Publisher): void {
if (!!publisher) {
if (publisher === this.participantService.getMyCameraPublisher()) {
- this.publishAudioAux(this.participantService.getMyScreenPublisher(), this.participantService.hasCameraAudioActive());
+ this.publishAudioAux(this.participantService.getMyScreenPublisher(), this.participantService.isMyAudioActive());
this.webcamSession.unpublish(publisher);
} else if (publisher === this.participantService.getMyScreenPublisher()) {
this.screenSession.unpublish(publisher);
@@ -221,8 +221,7 @@ export class OpenViduService {
}
async publishVideo(publish: boolean): Promise
{
- const publishAudio = this.participantService.hasCameraAudioActive();
- // const publishVideo = !this.participantService.hasCameraVideoActive();
+ const publishAudio = this.participantService.isMyAudioActive();
// Disabling webcam
if (this.participantService.haveICameraAndScreenActive()) {
@@ -279,8 +278,8 @@ export class OpenViduService {
} else if (this.participantService.isOnlyMyCameraActive()) {
// I only have the camera published
const hasAudioDevicesAvailable = this.deviceService.hasAudioDeviceAvailable();
- const willWebcamBePresent = this.participantService.isMyCameraActive() && this.participantService.hasCameraVideoActive();
- const hasAudio = willWebcamBePresent ? false : hasAudioDevicesAvailable && this.participantService.hasCameraAudioActive();
+ const willWebcamBePresent = this.participantService.isMyCameraActive() && this.participantService.isMyVideoActive();
+ const hasAudio = willWebcamBePresent ? false : hasAudioDevicesAvailable && this.participantService.isMyAudioActive();
console.warn('will be audio active', hasAudio);
const properties: PublisherProperties = {
@@ -309,7 +308,7 @@ export class OpenViduService {
await this.connectSession(this.getScreenSession(), this.tokenService.getScreenToken());
}
await this.publish(this.participantService.getMyScreenPublisher());
- if (!this.participantService.hasCameraVideoActive()) {
+ if (!this.participantService.isMyVideoActive()) {
// Disabling webcam
this.participantService.disableWebcamStream();
this.unpublish(this.participantService.getMyCameraPublisher());
@@ -367,8 +366,8 @@ export class OpenViduService {
const properties: PublisherProperties = {
videoSource: this.videoSource,
audioSource: this.audioSource,
- publishVideo: this.participantService.hasCameraVideoActive(),
- publishAudio: this.participantService.hasCameraAudioActive(),
+ publishVideo: this.participantService.isMyVideoActive(),
+ publishAudio: this.participantService.isMyAudioActive(),
mirror
};
@@ -392,7 +391,7 @@ export class OpenViduService {
sendSignal(type: Signal, connections?: Connection[], data?: any): void {
const signalOptions: SignalOptions = {
data: JSON.stringify(data),
- type: type,
+ type,
to: connections && connections.length > 0 ? connections : undefined
};
this.webcamSession.signal(signalOptions);
diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts
index 64614bb2..76479430 100644
--- a/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts
+++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/services/participant/participant.service.ts
@@ -11,17 +11,9 @@ import { LoggerService } from '../logger/logger.service';
providedIn: 'root'
})
export class ParticipantService {
- /**
- * @internal
- * Local participants observables
- */
localParticipantObs: Observable;
protected _localParticipant = >new BehaviorSubject(null);
- /**
- * @internal
- * Remote participants observables
- */
remoteParticipantsObs: Observable;
protected _remoteParticipants = >new BehaviorSubject([]);
@@ -189,6 +181,14 @@ export class ParticipantService {
return this.localParticipant.isCameraActive();
}
+ isMyVideoActive(): boolean {
+ return this.localParticipant.isCameraVideoActive();
+ }
+
+ isMyAudioActive(): boolean {
+ return this.localParticipant?.isCameraAudioActive() || this.localParticipant?.isScreenAudioActive();
+ }
+
/**
* @internal
*/
@@ -217,19 +217,6 @@ export class ParticipantService {
return this.isMyCameraActive() && this.isMyScreenActive();
}
- /**
- * @internal
- */
- hasCameraVideoActive(): boolean {
- return this.localParticipant.isCameraVideoActive();
- }
-
- /**
- * @internal
- */
- hasCameraAudioActive(): boolean {
- return this.localParticipant?.isCameraAudioActive();
- }
/**
* @internal
@@ -383,6 +370,9 @@ export class ParticipantService {
}
}
+ /**
+ * @internal
+ */
setRemoteMutedForcibly(id: string, value: boolean) {
const participant = this.getRemoteParticipantById(id);
if (participant) {
diff --git a/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts b/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts
index cf54962e..17f2ef45 100644
--- a/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts
+++ b/openvidu-components-angular/projects/openvidu-angular/src/public-api.ts
@@ -42,6 +42,7 @@ export * from './lib/models/logger.model';
export * from './lib/models/video-type.model';
export * from './lib/models/notification-options.model';
export * from './lib/models/token.model';
+export * from './lib/models/signal.model';
// Pipes
export * from './lib/pipes/participant.pipe';
diff --git a/openvidu-components-angular/src/assets/doc/chatPanelDirective-example.png b/openvidu-components-angular/src/assets/doc/chatPanelDirective-example.png
new file mode 100644
index 0000000000000000000000000000000000000000..74c589cefd71c6f8ef7439183ab1c57cae4378d1
GIT binary patch
literal 280080
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%0Ab9rN7w(ng;-m|rJ;C-B<
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