AntManager - DreamTeamMobile/Xamarin.AntMedia.Samples GitHub Wiki

string DefaultServer { get; set; }

string DefaultToken { get; set; }

Values for all AntWebRTCView, if set here - no need to set it in every AntWebRTCView

IEnumerable Services { get; }

all active WebRTC peer connections

void ConfigureRecording(string streamId, int fps, int bitrate, int width, int height);

for streamId set fps, bitrate, witdth, height if mode is Publish. need to call Init() on AntFrame or AntManager for that streamId after that

void ChangeMode(string streamId, AntWebRTCMode mode);

for streamId set new mode, need to call Init() on AntFrame or AntManager for that streamId after that

void Init(string streamId, AntWebRTCMode mode, bool dataEnabled);

re-init of AntView and connection for streamId

void Start(string streamId);

start of rendering/publishing for AntView and connection for streamId

void Stop(string streamId);

stop of rendering/publishing for AntView and connection for streamId

void ToggleVideo(string streamId);

toggle video for AntView and connection for streamId

void ToggleAudio(string streamId);

toggle for AntView and connection for streamId

void SwitchCamera(string streamId);

switch camera for AntView and connection for streamId

void SendMessage(string streamId, string message);

send message from streamId

void SendBinaryMessage(string streamId, byte[] message);

send binary message from streamId

AntWebRTCMode GetMode(string streamId);

get current WebRTC mode of connection with streamId

AntWebRTCView GetView(string streamId, AntP2PViewMode mode = AntP2PViewMode.Fullscreen);

get current P2P mode only view, works only in P2P WebRTC mode

void Android_ConfigureAsSharing(string streamId, int permissionId);

void Android_SharingStart(string streamId, int requestCode, int resultCode, object dataIntent);

makes sharing instead of camera on Publish mode, only on Android.

use in pair, ConfigureAsSharing then SharingStart permissionId - MediaProjection intent code,

also you need to run projection manager private void startScreenCapture() { MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getApplication().getSystemService( Context.MEDIA_PROJECTION_SERVICE); startActivityForResult( mediaProjectionManager.createScreenCaptureIntent(), permissionId); }

public override void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (requestCode != permissionId)
        return;

    IAntManager.Android_SharingStart("stream1", requestCode, resultCode, data);

}

Events, Global

###event EventHandler OnMessage; for any platform - on receiving message

Events, native

from AntManager you can receive all native events from Android and iOS, all parameters equals to native one

Android IWebRTCListener

event EventHandler Android_IWebRTCListener_NoStreamExistsToPlay; event EventHandler Android_IWebRTCListener_OnBitrateMeasurement; event EventHandler Android_IWebRTCListener_OnDisconnected; event EventHandler Android_IWebRTCListener_OnError; event EventHandler Android_IWebRTCListener_OnIceConnected; event EventHandler Android_IWebRTCListener_OnIceDisconnected; event EventHandler Android_IWebRTCListener_OnPlayFinished; event EventHandler Android_IWebRTCListener_OnPlayStarted; event EventHandler Android_IWebRTCListener_OnPublishFinished; event EventHandler Android_IWebRTCListener_OnPublishStarted; event EventHandler Android_IWebRTCListener_OnSignalChannelClosed; event EventHandler Android_IWebRTCListener_OnTrackList;

Android IDataChannelObserver

event EventHandler Android_IDataChannelObserver_OnBufferedAmountChange; event EventHandler Android_IDataChannelObserver_OnMessage; event EventHandler Android_IDataChannelObserver_OnMessageSent; event EventHandler Android_IDataChannelObserver_OnStateChange;

Ios IAntMediaClientDelegate

event EventHandler Ios_IAntMediaClientDelegate_ClientDidConnect; event EventHandler Ios_IAntMediaClientDelegate_ClientDidDisconnect; event EventHandler Ios_IAntMediaClientDelegate_ClientHasError; event EventHandler Ios_IAntMediaClientDelegate_RemoteStreamStarted; event EventHandler Ios_IAntMediaClientDelegate_RemoteStreamRemoved; event EventHandler Ios_IAntMediaClientDelegate_LocalStreamStarted; event EventHandler Ios_IAntMediaClientDelegate_PlayStarted; event EventHandler Ios_IAntMediaClientDelegate_PlayFinished; event EventHandler Ios_IAntMediaClientDelegate_PublishStarted; event EventHandler Ios_IAntMediaClientDelegate_PublishFinished; event EventHandler Ios_IAntMediaClientDelegate_Disconnected; event EventHandler Ios_IAntMediaClientDelegate_DataReceivedFromDataChannelWithStreamId; event EventHandler Ios_IAntMediaClientDelegate_AudioSessionDidStartPlayOrRecord;