Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Since IOS SDK build 2.6.32 it is possible to receive stream publisher events while playing the stream. This can be used to detect if audio or video is muted by stream publisher: when piblisher uses muteAusio()/muteVideo() method, a special event is sending to all the subscribers. To receive this event while playing a stream, define the function FPWCSApi2Stream.onStreamEvent in Objective C application or WCSStream.onStreamEvent in Swift application.

Objective C example code

    [_remoteStream onStreamEvent:^(FPWCSApi2StreamEvent *streamEvent){
        NSLog(@"No remote stream, %@", streamEvent.type);
        if ([streamEvent.type isEqual:[FPWCSApi2Model streamEventTypeToString:kFPWCSStreamEventTypeAudioMuted]]) {
            [_remoteControl onAudioMute:true];
        }
        if ([streamEvent.type isEqual:[FPWCSApi2Model streamEventTypeToString:kFPWCSStreamEventTypeAudioUnmuted]]) {
            [_remoteControl onAudioMute:false];
        }
        if ([streamEvent.type isEqual:[FPWCSApi2Model streamEventTypeToString:kFPWCSStreamEventTypeVideoMuted]]) {
            [_remoteControl onVideoMute:true];
        }
        if ([streamEvent.type isEqual:[FPWCSApi2Model streamEventTypeToString:kFPWCSStreamEventTypeVideoUnmuted]]) {
            [_remoteControl onVideoMute:false];
        }
    }];

Swift example code

            playStream?.onStreamEvent({streamEvent in
                if (streamEvent?.type == FPWCSApi2Model.streamEventType(toString: .fpwcsStreamEventTypeAudioMuted)) {
                    self.remoteViewController?.onAudioMute(true);
                }
                if (streamEvent?.type == FPWCSApi2Model.streamEventType(toString: .fpwcsStreamEventTypeAudioUnmuted)) {
                    self.remoteViewController?.onAudioMute(false);
                }
                if (streamEvent?.type == FPWCSApi2Model.streamEventType(toString: .fpwcsStreamEventTypeVideoMuted)) {
                    self.remoteViewController?.onVideoMute(true);
                }
                if (streamEvent?.type == FPWCSApi2Model.streamEventType(toString: .fpwcsStreamEventTypeVideoUnmuted)) {
                    self.remoteViewController?.onVideoMute(false);
                }
            });
  • No labels