Table of Contents

Class SpaceVoiceSession

Namespace
Twikit.Spaces
Assembly
Twikit.dll

スペースの高レベル WebRTC セッション(発言または聴取)。 IPeerConnectionFactory の実装が必要です。

public sealed class SpaceVoiceSession
Inheritance
SpaceVoiceSession
Inherited Members

Constructors

SpaceVoiceSession(string, string, string, string, string, string, string, SpacesHttp?, IPeerConnectionFactory?, Action<object>?)

public SpaceVoiceSession(string janusUrl, string vidManToken, string streamName = "", string sessionUuid = "", string display = "", string periscopeUserId = "", string roomId = "", SpacesHttp? http = null, IPeerConnectionFactory? peerConnectionFactory = null, Action<object>? onAudioTrack = null)

Parameters

janusUrl string
vidManToken string
streamName string
sessionUuid string
display string
periscopeUserId string
roomId string
http SpacesHttp
peerConnectionFactory IPeerConnectionFactory
onAudioTrack Action<object>

Properties

Display

public string Display { get; }

Property Value

string

Janus

public JanusClient Janus { get; }

Property Value

JanusClient

OnAudioTrack

リモートの音声トラックを受け取ったときのコールバック。

public Action<object>? OnAudioTrack { get; set; }

Property Value

Action<object>

Pc

public IPeerConnection? Pc { get; }

Property Value

IPeerConnection

PeriscopeUserId

public string PeriscopeUserId { get; }

Property Value

string

PublisherId

public long? PublisherId { get; }

Property Value

long?

RemoteAudio

聴取時に受け取ったリモートの音声トラック(実装固有のオブジェクト)。

public object? RemoteAudio { get; }

Property Value

object

RoomId

public string RoomId { get; }

Property Value

string

SessionUuid

public string SessionUuid { get; }

Property Value

string

StreamName

public string StreamName { get; }

Property Value

string

Methods

CloseAsync()

public Task CloseAsync()

Returns

Task

ConnectAsync(IReadOnlyList<IceServer>, bool, bool, IList<JsonObject>?, bool, object?)

Janus と WebRTC の接続を確立します。

public Task ConnectAsync(IReadOnlyList<IceServer> iceServers, bool asPublisher = true, bool createRoom = false, IList<JsonObject>? streams = null, bool withDummyPublisher = false, object? audioTrack = null)

Parameters

iceServers IReadOnlyList<IceServer>

ICE サーバー(空なら直接接続)。

asPublisher bool

発言側として接続するか。

createRoom bool

Janus ルームを作るか(ホスト用)。

streams IList<JsonObject>

聴取時に購読するストリーム。

withDummyPublisher bool

ルーム作成時に dummy publisher を付けるか。

audioTrack object

送信する音声トラック(実装固有のオブジェクト)。

Returns

Task

WaitForPublisherIdAsync(double)

public Task<long> WaitForPublisherIdAsync(double timeoutSeconds = 15)

Parameters

timeoutSeconds double

Returns

Task<long>