TeamTalk 5 .NET DLL Version 5.15A
|
This section explains the concept of channels where users can interact. More...
Classes | |
struct | BearWare.Channel |
A struct containing the properties of a channel. More... | |
struct | BearWare.FileTransfer |
A struct containing the properties of a file transfer. More... | |
struct | BearWare.RemoteFile |
A struct containing the properties of a file in a BearWare.Channel. More... | |
Enumerations | |
enum | BearWare.ChannelType : uint { BearWare.ChannelType.CHANNEL_DEFAULT = 0x0000 , BearWare.ChannelType.CHANNEL_PERMANENT = 0x0001 , BearWare.ChannelType.CHANNEL_SOLO_TRANSMIT = 0x0002 , BearWare.ChannelType.CHANNEL_CLASSROOM = 0x0004 , BearWare.ChannelType.CHANNEL_OPERATOR_RECVONLY = 0x0008 , BearWare.ChannelType.CHANNEL_NO_VOICEACTIVATION = 0x0010 , BearWare.ChannelType.CHANNEL_NO_RECORDING = 0x0020 , BearWare.ChannelType.CHANNEL_HIDDEN = 0x0040 } |
The types of channels supported. More... | |
enum | BearWare.FileTransferStatus : uint { BearWare.FileTransferStatus.FILETRANSFER_CLOSED = 0 , BearWare.FileTransferStatus.FILETRANSFER_ERROR = 1 , BearWare.FileTransferStatus.FILETRANSFER_ACTIVE = 2 , BearWare.FileTransferStatus.FILETRANSFER_FINISHED = 3 } |
Status of a file transfer. More... | |
Functions | |
int | BearWare.TeamTalkBase.GetRootChannelID () |
Get the root channel's ID. | |
int | BearWare.TeamTalkBase.GetMyChannelID () |
Get the channel which the local client instance is currently participating in. | |
bool | BearWare.TeamTalkBase.GetChannel (int nChannelID, ref Channel lpChannel) |
Get the channel with a specific ID. | |
bool | BearWare.TeamTalkBase.GetChannelPath (int nChannelID, ref string szChannelPath) |
Get the channel's path. Channels are separated by '/'. | |
int | BearWare.TeamTalkBase.GetChannelIDFromPath (string szChannelPath) |
Get the channel ID of the supplied path. Channels are separated by '/'. | |
bool | BearWare.TeamTalkBase.GetChannelUsers (int nChannelID, out User[] lpUsers) |
Get the IDs of all users in a channel. | |
bool | BearWare.TeamTalkBase.GetChannelFiles (int nChannelID, out RemoteFile[] lpRemoteFiles) |
Get the list of the files in a channel which can be downloaded. | |
bool | BearWare.TeamTalkBase.GetChannelFile (int nChannelID, int nFileID, ref RemoteFile lpRemoteFile) |
Get information about a file which can be downloaded. | |
bool | BearWare.TeamTalkBase.IsChannelOperator (int nUserID, int nChannelID) |
Check whether user is operator of a channel. | |
bool | BearWare.TeamTalkBase.GetServerChannels (out Channel[] lpChannels) |
Get all the channels on the server. | |
bool | BearWare.TeamTalkBase.GetFileTransferInfo (int nTransferID, ref FileTransfer lpFileTransfer) |
Get information about an active file transfer. | |
bool | BearWare.TeamTalkBase.CancelFileTranfer (int nTransferID) |
Cancel an active file transfer. | |
Variables | |
const int | BearWare.TeamTalkBase.TT_TRANSMITUSERS_MAX = 128 |
The maximum number of users allowed to transmit when a BearWare.Channel is configured with BearWare.ChannelType.CHANNEL_CLASSROOM. | |
const int | BearWare.TeamTalkBase.TT_CLASSROOM_FREEFORALL = 0xFFF |
const int | BearWare.TeamTalkBase.TT_CLASSROOM_USERID_INDEX = 0 |
const int | BearWare.TeamTalkBase.TT_CLASSROOM_STREAMTYPE_INDEX = 1 |
const int | BearWare.TeamTalkBase.TT_TRANSMITUSERS_FREEFORALL = 0xFFF |
const int | BearWare.TeamTalkBase.TT_TRANSMITUSERS_USERID_INDEX = 0 |
const int | BearWare.TeamTalkBase.TT_TRANSMITUSERS_STREAMTYPE_INDEX = 1 |
const int | BearWare.TeamTalkBase.TT_TRANSMITQUEUE_MAX = 16 |
Properties | |
int | BearWare.TeamTalkBase.ChannelID [get] |
Same as GetMyChannelID(). | |
This section explains the concept of channels where users can interact.
Users are arranged in a tree structure consisting of channels where each channel can hold a number of users. While in a channel users can transmit audio and video to each other as well as sending channel messages. On a server there will always be a root channel which cannot be deleted.
In other conferencing tools channels are also refered to as "rooms".
Sections:
To create a new channel on a server requires UserRight.USERRIGHT_MODIFY_CHANNELS or UserRight.USERRIGHT_CREATE_TEMPORARY_CHANNEL.
With UserRight.USERRIGHT_MODIFY_CHANNELS the method TeamTalkBase.DoMakeChannel() can be used to create a new channel and any existing channel can be updated using TeamTalkBase.DoUpdateChannel() and removed by calling TeamTalkBase.DoRemoveChannel(). Basically UserRight.USERRIGHT_MODIFY_CHANNELS gives unrestricted access to all channels on the server. Also seeing passwords of all channels on the server.
With UserRight.USERRIGHT_CREATE_TEMPORARY_CHANNEL the user can only create temporary channels which disappear when the last user leaves the channel. A temporary channel must be created by calling TeamTalkBase.DoJoinChannel(). Once a user has created a temporary channel and joined it he becomes operator of the channel which means that he can update the channel's properties at any given time.
While in a channel users can upload and download files if the UserRight.USERRIGHT_UPLOAD_FILES and UserRight.USERRIGHT_DOWNLOAD_FILES are enabled. To upload a file to a channel the channel needs to have a disk quota. The disk quota is specified by nDiskQuota in the BearWare.Channel-struct. The file being uploaded must have a file size which is less than the disk quota and the sum of sizes of existing files. Once a file is uploaded only channel operators and the file's owner can delete a file.
Call TeamTalkBase.DoSendFile() to upload a file and TeamTalkBase.DoRecvFile() to download a file. Only users who have a BearWare.UserAccount on the server are allowed to upload files. There is no limit on the maximum number of file transfers but it is advised to queue file transfers so the file transfers do no affect server performance.
In some applications it may be required to be able to save all audio data received by the client instance to disk. This can be archived by calling TeamTalkBase.SetUserMediaStorageDir() which will then save received audio data in the following format: "YYYYMMDD-HHMMSS \#USERID USERNAME.wav". USERNAME is the szUsername from BearWare.User.
To store audio data from outside the local client instance's channel, please read section Spying on Users.
enum BearWare.ChannelType : uint |
The types of channels supported.
Enumerator | |
---|---|
CHANNEL_DEFAULT | A default channel is a channel which disappears after the last user leaves the channel. |
CHANNEL_PERMANENT | A channel which persists even when the last user leaves the channel. |
CHANNEL_SOLO_TRANSMIT | Only one user can transmit at a time. |
CHANNEL_CLASSROOM | Voice and video transmission in the channel is controlled by a channel operator. For a user to transmit audio or video to this type of channel the channel operator must add the user's ID to |
CHANNEL_OPERATOR_RECVONLY | Only channel operators (and administrators) will receive audio/video/desktop transmissions. Default channel users will only see transmissions from operators and/or administrators. |
CHANNEL_NO_VOICEACTIVATION | Don't allow voice transmission if it's trigged by voice activation. |
CHANNEL_NO_RECORDING | Don't allow recording to files in the channel. |
CHANNEL_HIDDEN | Hidden channel which can only be seen with BearWare.UserRight.USERRIGHT_VIEW_HIDDEN_CHANNELS. |
Definition at line 2545 of file TeamTalk.cs.
enum BearWare.FileTransferStatus : uint |
Status of a file transfer.
Enumerator | |
---|---|
FILETRANSFER_CLOSED | brief Invalid transfer. |
FILETRANSFER_ERROR | Error during file transfer. |
FILETRANSFER_ACTIVE | File transfer active. |
FILETRANSFER_FINISHED | File transfer finished. |
Definition at line 2784 of file TeamTalk.cs.
int BearWare.TeamTalkBase.GetRootChannelID | ( | ) |
Get the root channel's ID.
Definition at line 7566 of file TeamTalk.cs.
int BearWare.TeamTalkBase.GetMyChannelID | ( | ) |
Get the channel which the local client instance is currently participating in.
Definition at line 7576 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.GetChannel | ( | int | nChannelID, |
ref Channel | lpChannel | ||
) |
Get the channel with a specific ID.
nChannelID | The ID of the channel to get information about. |
lpChannel | A preallocated struct which will receive the channel's properties. |
Definition at line 7591 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.GetChannelPath | ( | int | nChannelID, |
ref string | szChannelPath | ||
) |
Get the channel's path. Channels are separated by '/'.
nChannelID | The channel's ID. |
szChannelPath | Will receive the channel's path. |
Definition at line 7601 of file TeamTalk.cs.
int BearWare.TeamTalkBase.GetChannelIDFromPath | ( | string | szChannelPath | ) |
Get the channel ID of the supplied path. Channels are separated by '/'.
szChannelPath | Will receive the channel's path. |
Definition at line 7616 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.GetChannelUsers | ( | int | nChannelID, |
out User[] | lpUsers | ||
) |
Get the IDs of all users in a channel.
nChannelID | The channel's ID. |
lpUsers | An output array of User which will receive the users in the channel. |
Definition at line 7628 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.GetChannelFiles | ( | int | nChannelID, |
out RemoteFile[] | lpRemoteFiles | ||
) |
Get the list of the files in a channel which can be downloaded.
nChannelID | The ID of the channel to extract the files from. |
lpRemoteFiles | A array of BearWare.RemoteFile which will receive file information. |
Definition at line 7645 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.GetChannelFile | ( | int | nChannelID, |
int | nFileID, | ||
ref RemoteFile | lpRemoteFile | ||
) |
Get information about a file which can be downloaded.
nChannelID | The ID of the channel to extract the file from. |
nFileID | The ID of the file. |
lpRemoteFile | A preallocated struct which will receive file information. |
Definition at line 7661 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.IsChannelOperator | ( | int | nUserID, |
int | nChannelID | ||
) |
Check whether user is operator of a channel.
nUserID | the ID of the user to check. |
nChannelID | the ID of the channel to check whether user is operator of. |
Definition at line 7671 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.GetServerChannels | ( | out Channel[] | lpChannels | ) |
Get all the channels on the server.
Use TeamTalkBase.GetChannel() to get more information about each of the channels.
Definition at line 7681 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.GetFileTransferInfo | ( | int | nTransferID, |
ref FileTransfer | lpFileTransfer | ||
) |
Get information about an active file transfer.
An active file transfer is one which has been posted through the event #OnFileTransfer.
nTransferID | The ID of the file transfer to investigate. Transfer ID is passed by #OnFileTransfer. |
lpFileTransfer | A preallocated struct which will receive the file transfer information. |
Definition at line 8113 of file TeamTalk.cs.
bool BearWare.TeamTalkBase.CancelFileTranfer | ( | int | nTransferID | ) |
Cancel an active file transfer.
An active file transfer is one which has been post through the event #OnFileTransfer.
nTransferID | The ID of the file transfer to investigate. Transfer ID is passed by #OnFileTransfer. |
Definition at line 8126 of file TeamTalk.cs.
|
static |
The maximum number of users allowed to transmit when a BearWare.Channel is configured with BearWare.ChannelType.CHANNEL_CLASSROOM.
Definition at line 4231 of file TeamTalk.cs.
|
static |
If a BearWare.Channel is configured with BearWare.ChannelType BearWare.ChannelType.CHANNEL_CLASSROOM then only users certain user IDs are allowed to transmit. If, however, TT_CLASSROOM_FREEFORALL
is put in transmitUsers
then everyone in the channel are allowed to transmit.
Definition at line 4240 of file TeamTalk.cs.
|
static |
User ID index in transmitUsers
of BearWare.Channel
Definition at line 4244 of file TeamTalk.cs.
|
static |
BearWare.StreamType index in transmitUsers
of BearWare.Channel
Definition at line 4248 of file TeamTalk.cs.
|
static |
Same as BearWare.TeamTalkBase.TT_CLASSROOM_FREEFORALL
Definition at line 4252 of file TeamTalk.cs.
|
static |
Same as BearWare.TeamTalkBase.TT_CLASSROOM_USERID_INDEX
Definition at line 4256 of file TeamTalk.cs.
|
static |
Same as BearWare.TeamTalkBase.TT_CLASSROOM_STREAMTYPE_INDEX
Definition at line 4260 of file TeamTalk.cs.
|
static |
The maximum number of users in the BearWare.Channel transmit queue when channel is configured with BearWare.ChannelType.CHANNEL_SOLO_TRANSMIT
Definition at line 4304 of file TeamTalk.cs.
|
get |
Same as GetMyChannelID().
Definition at line 7583 of file TeamTalk.cs.