TeamTalk 5 .NET DLL Version 5.12A
BearWare.Channel Struct Reference

A struct containing the properties of a channel. More...

Public Member Functions

void AddTransmitUser (int nUserID, StreamType uStreamType)
 Helper function for adding a user and BearWare.StreamType to transmitUsers. More...
 
StreamType GetTransmitStreamTypes (int nUserID)
 Helper function for getting the StreamType a user can transmit by querying transmitUsers. More...
 
int GetTransmitUserCount ()
 Get the number of users who can currently transmit to the ChannelType.CHANNEL_CLASSROOM. More...
 
void RemoveTransmitUser (int nUserID, StreamType uStreamType)
 Helper function for removing a StreamType for a user in transmitUsers. More...
 

Public Attributes

int nParentID
 Parent channel ID. 0 means no parent channel, i.e. it's the root channel. More...
 
int nChannelID
 The channel's ID. A value from 1 - BearWare.TeamTalkBase.TT_CHANNELID_MAX. More...
 
string szName
 Name of the channel. More...
 
string szTopic
 Topic of the channel. More...
 
string szPassword
 Password to join the channel. When extracted through TeamTalkBase.GetChannel() the password will only be set for users of user-type UserType UserType.USERTYPE_ADMIN. More...
 
bool bPassword
 Whether password is required to join channel. Read-only property. More...
 
ChannelType uChannelType
 A bitmask of the type of channel based on BearWare.ChannelType. More...
 
int nUserData
 User specific data which will be stored on persistent storage on the server if the channel type is ChannelType.CHANNEL_PERMANENT. More...
 
long nDiskQuota
 Number of bytes available for file storage. More...
 
string szOpPassword
 Password to become channel operator. More...
 
int nMaxUsers
 Max number of users in channel. More...
 
AudioCodec audiocodec
 The audio codec used by users in the channel. More...
 
AudioConfig audiocfg
 The audio configuration which users who join the channel should use. More...
 
int[] transmitUsers
 List of users who can transmit in a channel. More...
 
int[] transmitUsersQueue
 The users currently queued for voice or media file transmission. More...
 
int nTransmitUsersQueueDelayMSec
 Delay for switching to next active voice user in transmitUsersQueue. More...
 

Detailed Description

A struct containing the properties of a channel.

To change the properties of a channel call TeamTalkBase.DoUpdateChannel(). Note that audiocodec cannot be changed if the channel has users.

See also
TeamTalkBase.GetChannel
ChannelType
AudioCodec

Definition at line 2578 of file TeamTalk.cs.

Member Function Documentation

◆ AddTransmitUser()

void BearWare.Channel.AddTransmitUser ( int  nUserID,
StreamType  uStreamType 
)

Helper function for adding a user and BearWare.StreamType to transmitUsers.

Definition at line 2694 of file TeamTalk.cs.

◆ GetTransmitStreamTypes()

StreamType BearWare.Channel.GetTransmitStreamTypes ( int  nUserID)

Helper function for getting the StreamType a user can transmit by querying transmitUsers.

Definition at line 2710 of file TeamTalk.cs.

◆ GetTransmitUserCount()

int BearWare.Channel.GetTransmitUserCount ( )

Get the number of users who can currently transmit to the ChannelType.CHANNEL_CLASSROOM.

Definition at line 2721 of file TeamTalk.cs.

◆ RemoveTransmitUser()

void BearWare.Channel.RemoveTransmitUser ( int  nUserID,
StreamType  uStreamType 
)

Helper function for removing a StreamType for a user in transmitUsers.

Definition at line 2732 of file TeamTalk.cs.

Member Data Documentation

◆ nParentID

int BearWare.Channel.nParentID

Parent channel ID. 0 means no parent channel, i.e. it's the root channel.

Definition at line 2582 of file TeamTalk.cs.

◆ nChannelID

int BearWare.Channel.nChannelID

The channel's ID. A value from 1 - BearWare.TeamTalkBase.TT_CHANNELID_MAX.

Definition at line 2585 of file TeamTalk.cs.

◆ szName

string BearWare.Channel.szName

Name of the channel.

Definition at line 2588 of file TeamTalk.cs.

◆ szTopic

string BearWare.Channel.szTopic

Topic of the channel.

Definition at line 2591 of file TeamTalk.cs.

◆ szPassword

string BearWare.Channel.szPassword

Password to join the channel. When extracted through TeamTalkBase.GetChannel() the password will only be set for users of user-type UserType UserType.USERTYPE_ADMIN.

Definition at line 2596 of file TeamTalk.cs.

◆ bPassword

bool BearWare.Channel.bPassword

Whether password is required to join channel. Read-only property.

Definition at line 2599 of file TeamTalk.cs.

◆ uChannelType

ChannelType BearWare.Channel.uChannelType

A bitmask of the type of channel based on BearWare.ChannelType.

Definition at line 2601 of file TeamTalk.cs.

◆ nUserData

int BearWare.Channel.nUserData

User specific data which will be stored on persistent storage on the server if the channel type is ChannelType.CHANNEL_PERMANENT.

Definition at line 2605 of file TeamTalk.cs.

◆ nDiskQuota

long BearWare.Channel.nDiskQuota

Number of bytes available for file storage.

Definition at line 2607 of file TeamTalk.cs.

◆ szOpPassword

string BearWare.Channel.szOpPassword

Password to become channel operator.

See also
TeamTalkBase.DoChannelOpEx()

Definition at line 2611 of file TeamTalk.cs.

◆ nMaxUsers

int BearWare.Channel.nMaxUsers

Max number of users in channel.

Definition at line 2613 of file TeamTalk.cs.

◆ audiocodec

AudioCodec BearWare.Channel.audiocodec

The audio codec used by users in the channel.

Definition at line 2615 of file TeamTalk.cs.

◆ audiocfg

AudioConfig BearWare.Channel.audiocfg

The audio configuration which users who join the channel should use.

See also
TeamTalkBase.SetSoundInputPreprocess()

Definition at line 2618 of file TeamTalk.cs.

◆ transmitUsers

int [] BearWare.Channel.transmitUsers

List of users who can transmit in a channel.

transmitUsers is a 2-dimensional array which specifies who can transmit to the channel.

If uChannelType is set to ChannelType.CHANNEL_CLASSROOM then only the users in transmitUsers are allowed to transmit.

In TeamTalk v5.4 and onwards adding a user ID to transmitUsers will block the user from transmitting if the BearWare.ChannelType is not ChannelType.CHANNEL_CLASSROOM. Basically the opposite effect of ChannelType.CHANNEL_CLASSROOM.

To specify user ID 46 can transmit voice to a ChannelType.CHANNEL_CLASSROOM channel is done by assigning the following:

* transmitUsers[0][0] = 46;
* transmitUsers[0][1] = StreamType.STREAMTYPE_VOICE;
* 

To specify user ID 46 can transmit both voice and video capture to a ChannelType.CHANNEL_CLASSROOM channel is done by assigning the following:

* transmitUsers[0][0] = 46;
* transmitUsers[0][1] = StreamType.STREAMTYPE_VOICE | StreamType.STREAMTYPE_VIDEOCAPTURE;
* 

The transmission list is terminated by assigning user ID 0 to the end of the list, i.e.:

* transmitUsers[0][0] = 0;
* transmitUsers[0][1] = StreamType.STREAMTYPE_NONE;
* 

To allow all users of a ChannelType.CHANNEL_CLASSROOM channel to transmit a specific StreamType is done like this:

* transmitUsers[0][0] = TeamTalkBase.TT_CLASSROOM_FREEFORALL;
* transmitUsers[0][1] = StreamType.STREAMTYPE_VOICE;
* 

Only channel operators are allowed to change the users who are allowed to transmit data to a channel. Call TeamTalkBase.DoUpdateChannel() to update the list of users who are allowed to transmit data to the channel.

See also
TeamTalkBase.IsChannelOperator
TeamTalkBase.DoChannelOp
TeamTalkBase.TT_CLASSROOM_FREEFORALL

Definition at line 2675 of file TeamTalk.cs.

◆ transmitUsersQueue

int [] BearWare.Channel.transmitUsersQueue

The users currently queued for voice or media file transmission.

This property only applied with channel is configured with BearWare.ChannelType.CHANNEL_SOLO_TRANSMIT. Read-only property.

Definition at line 2681 of file TeamTalk.cs.

◆ nTransmitUsersQueueDelayMSec

int BearWare.Channel.nTransmitUsersQueueDelayMSec

Delay for switching to next active voice user in transmitUsersQueue.

In channels of type ChannelType.CHANNEL_SOLO_TRANSMIT only one user can transmit voice. When user has stopped transmitting this value specifies the delay before switching to next user in transmitUsersQueue. Default value is 500 msec.

Definition at line 2690 of file TeamTalk.cs.