Class JanusClient
最小限の Janus ゲートウェイクライアント(janus.plugin.videoroom)。
Web クライアントと同じく、HTTP ロングポールでイベントを受け、transaction でレスポンスを突き合わせ、
毎リクエスト Authorization: <vidManToken> を付けます。
public sealed class JanusClient
- Inheritance
-
JanusClient
- Inherited Members
Constructors
JanusClient(string, string, SpacesHttp, string, string)
public JanusClient(string janusUrl, string vidManToken, SpacesHttp http, string periscopeUserId = "", string roomId = "")
Parameters
janusUrlstringvidManTokenstringhttpSpacesHttpperiscopeUserIdstringroomIdstring
Properties
HandlerId
public long? HandlerId { get; }
Property Value
- long?
JanusUrl
public string JanusUrl { get; }
Property Value
OnAttached
attached / updated のストリーム一覧。
public Action<JsonArray>? OnAttached { get; set; }
Property Value
OnJsep
JSEP(SDP)を受け取ったときに呼ばれます。
public Action<JsonObject, JsonObject>? OnJsep { get; set; }
Property Value
OnPublisherId
videoroom に joined したときの publisher id。
public Action<long>? OnPublisherId { get; set; }
Property Value
OnPublishers
publishers 一覧を受け取ったとき。
public Action<JsonArray>? OnPublishers { get; set; }
Property Value
OnRawEvent
すべての生イベント。
public Action<JsonObject>? OnRawEvent { get; set; }
Property Value
PeriscopeUserId
public string PeriscopeUserId { get; }
Property Value
RoomId
public string RoomId { get; }
Property Value
SessionId
public long? SessionId { get; set; }
Property Value
- long?
VidManToken
public string VidManToken { get; }
Property Value
Methods
AttachAsync()
public Task<long> AttachAsync()
Returns
CloseAsync()
public Task CloseAsync()
Returns
CreateAsync()
public Task<long> CreateAsync()
Returns
CreateRoomAsync(bool)
public Task CreateRoomAsync(bool withDummyPublisher = false)
Parameters
withDummyPublisherbool
Returns
DestroyAsync()
public Task DestroyAsync()
Returns
DestroyRoomAsync()
public Task DestroyRoomAsync()
Returns
DetachAsync()
public Task DetachAsync()
Returns
JoinAsPublisherAsync(string)
public Task JoinAsPublisherAsync(string display = "")
Parameters
displaystring
Returns
JoinAsSubscriberAsync(IEnumerable<JsonObject>)
public Task JoinAsSubscriberAsync(IEnumerable<JsonObject> streams)
Parameters
streamsIEnumerable<JsonObject>
Returns
LeaveAsync()
public Task LeaveAsync()
Returns
ListParticipantsAsync()
現在の Janus ルーム参加者を返します。
public Task<List<JsonObject>> ListParticipantsAsync()
Returns
SendSdpAnswerAsync(string)
サーバーの SDP offer に answer します(サブスクライバー側、start)。
public Task<JsonObject> SendSdpAnswerAsync(string sdp)
Parameters
sdpstring
Returns
SendSdpOfferAsync(string, string, string, string, bool)
public Task SendSdpOfferAsync(string sdp, string streamName = "", string sessionUuid = "", string vidManToken = "", bool iceRestart = false)
Parameters
Returns
StartPolling()
public void StartPolling()
SubscribeAsync(IEnumerable<JsonObject>)
public Task SubscribeAsync(IEnumerable<JsonObject> streams)
Parameters
streamsIEnumerable<JsonObject>
Returns
SwitchStreamsAsync(IEnumerable<JsonObject>)
public Task SwitchStreamsAsync(IEnumerable<JsonObject> streams)
Parameters
streamsIEnumerable<JsonObject>
Returns
UnpublishAsync()
public Task UnpublishAsync()
Returns
UpdateStreamsAsync(IEnumerable<JsonObject>?, IEnumerable<JsonObject>?)
public Task UpdateStreamsAsync(IEnumerable<JsonObject>? subscribe = null, IEnumerable<JsonObject>? unsubscribe = null)
Parameters
subscribeIEnumerable<JsonObject>unsubscribeIEnumerable<JsonObject>
Returns
WaitForEventAsync(double)
1 回ロングポールして(イベントが来るまで待って)返します。
public Task<JsonObject?> WaitForEventAsync(double timeoutSeconds = 15)
Parameters
timeoutSecondsdouble