25 using System.Collections.Generic;
27 using System.Windows.Forms;
29 using System.Drawing.Imaging;
30 using System.Threading;
31 using System.Diagnostics;
32 using System.Reflection;
33 using System.Runtime.InteropServices;
205 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
470 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
575 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
617 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
645 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
681 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
759 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
807 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
903 [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
939 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1036 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1135 [StructLayout(LayoutKind.Explicit)]
1244 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1266 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1270 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1283 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1297 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1309 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1327 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1335 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1345 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1365 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1466 [StructLayout(LayoutKind.Explicit)]
1502 [StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
1562 [StructLayout(LayoutKind.Explicit)]
1596 [StructLayout(LayoutKind.Explicit)]
1628 [StructLayout(LayoutKind.Explicit)]
1649 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1675 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1691 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1875 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
1969 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2040 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2085 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2110 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2291 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2388 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
2394 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
2400 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
2406 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
2431 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2499 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2577 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2774 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2800 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2830 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2888 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2939 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
2999 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
3324 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
3959 [StructLayout(LayoutKind.Sequential)]
3970 [MarshalAs(UnmanagedType.ByValArray, SizeConst = TTDLL.SIZEOF_TTMESSAGE_DATA)]
3979 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
Channel));
3980 case TTType.__CLIENTERRORMSG:
3981 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
ClientErrorMsg));
3982 case TTType.__DESKTOPINPUT:
3983 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
DesktopInput));
3984 case TTType.__FILETRANSFER:
3985 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
FileTransfer));
3986 case TTType.__MEDIAFILEINFO:
3987 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
MediaFileInfo));
3988 case TTType.__REMOTEFILE:
3989 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
RemoteFile));
3990 case TTType.__SERVERPROPERTIES:
3991 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
ServerProperties));
3992 case TTType.__SERVERSTATISTICS:
3993 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
ServerStatistics));
3994 case TTType.__TEXTMESSAGE:
3995 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
TextMessage));
3997 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
User));
3998 case TTType.__USERACCOUNT:
3999 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
UserAccount));
4000 case TTType.__BANNEDUSER :
4001 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
BannedUser));
4003 return Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref
this)) != 0;
4005 return Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref
this));
4006 case TTType.__STREAMTYPE :
4007 return (
StreamType)Marshal.ReadInt32(TTDLL.TT_DBG_GETDATAPTR(ref
this));
4008 case TTType.__AUDIOINPUTPROGRESS :
4009 return Marshal.PtrToStructure(TTDLL.TT_DBG_GETDATAPTR(ref
this), typeof(
AudioInputProgress));
4016 [StructLayout(LayoutKind.Explicit, Size = 5224)]
4294 public static string GetVersion() {
return Marshal.PtrToStringAuto(TTDLL.TT_GetVersion()); }
4308 Assembly assembly = Assembly.GetExecutingAssembly();
4309 AssemblyName name = assembly.GetName();
4310 Version dllversion =
new Version(Marshal.PtrToStringUni((c_tt.TTDLL.TT_GetVersion())));
4311 if (!name.Version.Equals(dllversion))
4313 string errmsg = String.Format(
"Invalid {2} version loaded. {2} is version {0} and {3} is version {1}",
4314 dllversion.ToString(), name.Version.ToString(), c_tt.TTDLL.dllname, c_tt.TTDLL.mgtdllname);
4318 System.Diagnostics.Debug.WriteLine(errmsg);
4321 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__AUDIOCODEC) == Marshal.SizeOf(
new AudioCodec()));
4322 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__BANNEDUSER) == Marshal.SizeOf(
new BannedUser()));
4323 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__VIDEOFORMAT) == Marshal.SizeOf(
new VideoFormat()));
4324 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__OPUSCODEC) == Marshal.SizeOf(
new OpusCodec()));
4325 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__CHANNEL) == Marshal.SizeOf(
new Channel()));
4327 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__REMOTEFILE) == Marshal.SizeOf(
new RemoteFile()));
4328 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__FILETRANSFER) == Marshal.SizeOf(
new FileTransfer()));
4329 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__MEDIAFILESTATUS) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(
MediaFileStatus))));
4332 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__SOUNDDEVICE) == Marshal.SizeOf(
new SoundDevice()));
4333 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__SPEEXCODEC) == Marshal.SizeOf(
new SpeexCodec()));
4334 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__TEXTMESSAGE) == Marshal.SizeOf(
new TextMessage()));
4335 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__WEBMVP8CODEC) == Marshal.SizeOf(
new WebMVP8Codec()));
4336 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__TTMESSAGE) == Marshal.SizeOf(
new TTMessage()));
4337 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__USER) == Marshal.SizeOf(
new User()));
4338 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__USERACCOUNT) == Marshal.SizeOf(
new UserAccount()));
4339 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__USERSTATISTICS) == Marshal.SizeOf(
new UserStatistics()));
4341 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__VIDEOCODEC) == Marshal.SizeOf(
new VideoCodec()));
4342 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__AUDIOCONFIG) == Marshal.SizeOf(
new AudioConfig()));
4343 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__SPEEXVBRCODEC) == Marshal.SizeOf(
new SpeexVBRCodec()));
4344 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__VIDEOFRAME) == Marshal.SizeOf(
new VideoFrame()));
4345 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__AUDIOBLOCK) == Marshal.SizeOf(
new AudioBlock()));
4346 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__AUDIOFORMAT) == Marshal.SizeOf(
new AudioFormat()));
4347 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__MEDIAFILEINFO) == Marshal.SizeOf(
new MediaFileInfo()));
4348 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__CLIENTERRORMSG) == Marshal.SizeOf(
new ClientErrorMsg()));
4349 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__DESKTOPINPUT) == Marshal.SizeOf(
new DesktopInput()));
4350 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__SPEEXDSP) == Marshal.SizeOf(
new SpeexDSP()));
4351 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__STREAMTYPE) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(
StreamType))));
4352 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__AUDIOPREPROCESSORTYPE) == Marshal.SizeOf(Enum.GetUnderlyingType(typeof(
AudioPreprocessorType))));
4357 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__CLIENTKEEPALIVE) == Marshal.SizeOf(
new ClientKeepAlive()));
4359 Debug.Assert(TTDLL.TT_DBG_SIZEOF(
TTType.__JITTERCONFIG) == Marshal.SizeOf(
new JitterConfig()));
4363 m_ttInst = TTDLL.TT_InitTeamTalkPoll();
4366 m_eventhandler =
new MyEventHandler(
this);
4368 IntPtr hWnd = m_eventhandler.Hwnd;
4370 m_eventhandler.CreateControl();
4371 IntPtr hWnd = m_eventhandler.Handle;
4373 m_ttInst = TTDLL.TT_InitTeamTalk(hWnd, MyEventHandler.WM_TEAMTALK_CLIENTEVENT);
4387 #region IDisposable Members
4394 private void DeleteMe()
4396 if (m_ttInst != IntPtr.Zero)
4398 TTDLL.TT_CloseTeamTalk(m_ttInst);
4399 m_ttInst = IntPtr.Zero;
4424 return TTDLL.TT_GetMessage(m_ttInst, ref pMsg, ref nWaitMs);
4456 return TTDLL.TT_PumpMessage(m_ttInst, nClientEvent, nIdentifier);
4469 return TTDLL.TT_GetFlags(m_ttInst);
4491 return TTDLL.TT_SetLicenseInformation(szRegName, szRegKey);
4514 case ClientEvent.CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED :
4534 case ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGGEDOUT:
4587 case ClientEvent.CLIENTEVENT_CMD_SERVERSTATISTICS :
4616 case ClientEvent.CLIENTEVENT_USER_MEDIAFILE_VIDEO:
4632 case ClientEvent.CLIENTEVENT_USER_RECORD_MEDIAFILE :
4660 case ClientEvent.CLIENTEVENT_DESKTOPWINDOW_TRANSFER :
4676 case ClientEvent.CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET:
4696 ref
int lpnOutputDeviceID)
4698 return TTDLL.TT_GetDefaultSoundDevices(ref lpnInputDeviceID, ref lpnOutputDeviceID);
4705 ref
int lpnInputDeviceID,
4706 ref
int lpnOutputDeviceID)
4708 return TTDLL.TT_GetDefaultSoundDevicesEx(nSndSystem, ref lpnInputDeviceID, ref lpnOutputDeviceID);
4721 bool b = TTDLL.TT_GetSoundDevices_NULL(IntPtr.Zero, ref count);
4723 b = TTDLL.TT_GetSoundDevices(devs, ref count);
4724 lpSoundDevices = b ? devs :
null;
4744 return TTDLL.TT_RestartSoundSystem();
4751 int nSampleRate,
int nChannels,
4752 bool bDuplexMode,
SpeexDSP lpSpeexDSP)
4754 return TTDLL.TT_StartSoundLoopbackTest(nInputDeviceID, nOutputDeviceID,
4755 nSampleRate, nChannels, bDuplexMode,
4790 int nSampleRate,
int nChannels,
4794 return TTDLL.TT_StartSoundLoopbackTestEx(nInputDeviceID, nOutputDeviceID,
4795 nSampleRate, nChannels, bDuplexMode,
4796 ref lpAudioPreprocessor, ref lpSoundDeviceEffects);
4806 return TTDLL.TT_CloseSoundLoopbackTest(lpTTSoundLoop);
4838 return TTDLL.TT_InitSoundInputDevice(m_ttInst, nInputDeviceID);
4873 return TTDLL.TT_InitSoundInputSharedDevice(nSampleRate, nChannels, nFrameSize);
4906 return TTDLL.TT_InitSoundOutputDevice(m_ttInst, nOutputDeviceID);
4940 return TTDLL.TT_InitSoundOutputSharedDevice(nSampleRate, nChannels, nFrameSize);
4977 return TTDLL.TT_InitSoundDuplexDevices(m_ttInst, nInputDeviceID, nOutputDeviceID);
5000 return TTDLL.TT_CloseSoundInputDevice(m_ttInst);
5022 return TTDLL.TT_CloseSoundOutputDevice(m_ttInst);
5032 return TTDLL.TT_CloseSoundDuplexDevices(m_ttInst);
5071 return TTDLL.TT_SetSoundDeviceEffects(m_ttInst, ref lpSoundDeviceEffect);
5079 return TTDLL.TT_GetSoundDeviceEffects(m_ttInst, ref lpSoundDeviceEffect);
5099 return TTDLL.TT_GetSoundInputLevel(m_ttInst);
5118 return TTDLL.TT_SetSoundInputGainLevel(m_ttInst, nLevel);
5128 return TTDLL.TT_GetSoundInputGainLevel(m_ttInst);
5148 return TTDLL.TT_SetSoundInputPreprocess(m_ttInst, ref lpSpeexDSP);
5161 return TTDLL.TT_GetSoundInputPreprocess(m_ttInst, ref lpSpeexDSP);
5176 return TTDLL.TT_SetSoundInputPreprocessEx(m_ttInst, ref lpAudioPreprocessor);
5188 return TTDLL.TT_GetSoundInputPreprocessEx(m_ttInst, ref lpAudioPreprocessor);
5199 return TTDLL.TT_SetSoundOutputVolume(m_ttInst, nVolume);
5209 return TTDLL.TT_GetSoundOutputVolume(m_ttInst);
5220 return TTDLL.TT_SetSoundOutputMute(m_ttInst, bMuteAll);
5234 return TTDLL.TT_Enable3DSoundPositioning(m_ttInst, bEnable);
5247 return TTDLL.TT_AutoPositionUsers(m_ttInst);
5316 return TTDLL.TT_EnableAudioBlockEvent(m_ttInst, nUserID, uStreamTypes, bEnable);
5349 return TTDLL.TT_EnableAudioBlockEventEx(m_ttInst, nUserID, uStreamTypes, ref lpAudioFormat, bEnable);
5387 return TTDLL.TT_InsertAudioBlock(m_ttInst, ref lpAudioBlock);
5409 return TTDLL.TT_EnableVoiceTransmission(m_ttInst, bEnable);
5439 return TTDLL.TT_EnableVoiceActivation(m_ttInst, bEnable);
5457 return TTDLL.TT_SetVoiceActivationLevel(m_ttInst, nLevel);
5467 return TTDLL.TT_GetVoiceActivationLevel(m_ttInst);
5483 return TTDLL.TT_SetVoiceActivationStopDelay(m_ttInst, nDelayMSec);
5497 return TTDLL.TT_GetVoiceActivationStopDelay(m_ttInst);
5543 string szAudioFileName,
5546 return TTDLL.TT_StartRecordingMuxedAudioFile(m_ttInst,
5572 string szAudioFileName,
5575 return TTDLL.TT_StartRecordingMuxedAudioFileEx(m_ttInst,
5615 string szAudioFileName,
5618 return TTDLL.TT_StartRecordingMuxedStreams(m_ttInst, uStreamTypes, ref lpAudioCodec, szAudioFileName, uAFF);
5634 return TTDLL.TT_StopRecordingMuxedAudioFile(m_ttInst);
5645 return TTDLL.TT_StopRecordingMuxedAudioFileEx(m_ttInst, nChannelID);
5672 return TTDLL.TT_StartVideoCaptureTransmission(m_ttInst, ref lpVideoCodec);
5681 return TTDLL.TT_StopVideoCaptureTransmission(m_ttInst);
5700 int count = devs.Length;
5701 bool b = TTDLL.TT_GetVideoCaptureDevices(devs, ref count);
5705 for (
int i = 0; i < count; i++)
5706 lpVideoDevices[i] = devs[i];
5708 else lpVideoDevices =
null;
5726 return TTDLL.TT_InitVideoCaptureDevice(m_ttInst, szDeviceID, ref lpVideoFormat);
5734 return TTDLL.TT_CloseVideoCaptureDevice(m_ttInst);
5758 return TTDLL.TT_PaintVideoFrame(nUserID, hDC, XDest, YDest, nDestWidth,
5759 nDestHeight, ref lpVideoFrame);
5805 return TTDLL.TT_PaintVideoFrameEx(nUserID, hDC, XDest, YDest, nDestWidth, nDestHeight,
5806 XSrc, YSrc, nSrcWidth, nSrcHeight,
5831 IntPtr ptr = TTDLL.TT_AcquireUserVideoCaptureFrame(m_ttInst, nUserID);
5832 if(ptr == IntPtr.Zero)
5838 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
5843 Dictionary<IntPtr, IntPtr> vidcapframes =
new Dictionary<IntPtr, IntPtr>();
5855 if (vidcapframes.TryGetValue(lpVideoFrame.
frameBuffer, out ptr))
5858 return TTDLL.TT_ReleaseUserVideoCaptureFrame(m_ttInst, ptr);
5923 return TTDLL.TT_StartStreamingMediaFileToChannel(m_ttInst, szMediaFilePath,
5960 return TTDLL.TT_StartStreamingMediaFileToChannelEx(m_ttInst, szMediaFilePath,
5961 ref lpMediaFilePlayback,
5984 return TTDLL.TT_UpdateStreamingMediaFileToChannel(m_ttInst, ref lpMediaFilePlayback, ref lpVideoCodec);
5996 return TTDLL.TT_StopStreamingMediaFileToChannel(m_ttInst);
6025 return TTDLL.TT_InitLocalPlayback(m_ttInst, szMediaFilePath, ref lpMediaFilePlayback);
6042 return TTDLL.TT_UpdateLocalPlayback(m_ttInst, nPlaybackSessionID, ref lpMediaFilePlayback);
6055 return TTDLL.TT_StopLocalPlayback(m_ttInst, nPlaybackSessionID);
6068 return TTDLL.TT_GetMediaFileInfo(szMediaFilePath, ref lpMediaFileInfo);
6093 IntPtr ptr = TTDLL.TT_AcquireUserMediaVideoFrame(m_ttInst, nUserID);
6094 if (ptr == IntPtr.Zero)
6100 PixelFormat pixelformat = PixelFormat.Format32bppRgb;
6115 if (mediaframes.TryGetValue(lpVideoFrame.
frameBuffer, out ptr))
6118 return TTDLL.TT_ReleaseUserMediaVideoFrame(m_ttInst, ptr);
6123 Dictionary<IntPtr, IntPtr> mediaframes =
new Dictionary<IntPtr, IntPtr>();
6170 return TTDLL.TT_SendDesktopWindow(m_ttInst, ref lpDesktopWindow, nConvertBmpFormat);
6182 return TTDLL.TT_CloseDesktopWindow(m_ttInst);
6204 IntPtr ptr = TTDLL.TT_Palette_GetColorTable(nBmpPalette, nIndex);
6208 return Color.FromArgb(Marshal.ReadInt32(ptr));
6227 return TTDLL.TT_SendDesktopWindowFromHWND(m_ttInst, hWnd, nBitmapFormat, nDesktopProtocol);
6251 return TTDLL.TT_PaintDesktopWindow(m_ttInst, nUserID, hDC, XDest, YDest, nDestWidth, nDestHeight);
6297 return TTDLL.TT_PaintDesktopWindowEx(m_ttInst, nUserID, hDC, XDest,
6298 YDest, nDestWidth, nDestHeight,
6299 XSrc, YSrc, nSrcWidth, nSrcHeight);
6317 return TTDLL.TT_SendDesktopCursorPosition(m_ttInst, nPosX, nPosY);
6346 return TTDLL.TT_SendDesktopInput(m_ttInst, nUserID, lpDesktopInputs, lpDesktopInputs.Length);
6374 IntPtr ptr = TTDLL.TT_AcquireUserDesktopWindow(m_ttInst, nUserID);
6375 if (ptr == IntPtr.Zero)
6378 desktopwindows.Add(lpDesktopWindow.
frameBuffer, ptr);
6379 return lpDesktopWindow;
6390 IntPtr ptr = TTDLL.TT_AcquireUserDesktopWindowEx(m_ttInst, nUserID, nBitmapFormat);
6391 if (ptr == IntPtr.Zero)
6394 desktopwindows.Add(lpDesktopWindow.
frameBuffer, ptr);
6395 return lpDesktopWindow;
6398 Dictionary<IntPtr, IntPtr> desktopwindows =
new Dictionary<IntPtr, IntPtr>();
6404 if (desktopwindows.TryGetValue(lpDesktopWindow.
frameBuffer, out ptr))
6406 desktopwindows.Remove(lpDesktopWindow.
frameBuffer);
6407 return TTDLL.TT_ReleaseUserDesktopWindow(m_ttInst, ptr);
6430 return TTDLL.TT_SetEncryptionContext(m_ttInst, ref lpEncryptionContext);
6468 return TTDLL.TT_Connect(m_ttInst, szHostAddress, nTcpPort, nUdpPort,
6469 nLocalTcpPort, nLocalUdpPort, bEncrypted);
6503 return TTDLL.TT_ConnectSysID(m_ttInst, szHostAddress,
6504 nTcpPort, nUdpPort, nLocalTcpPort,
6505 nLocalUdpPort, bEncrypted, szSystemID);
6531 string szBindIPAddr,
6536 return TTDLL.TT_ConnectEx(m_ttInst, szHostAddress, nTcpPort, nUdpPort,
6537 szBindIPAddr, nLocalTcpPort, nLocalUdpPort,
6547 return TTDLL.TT_Disconnect(m_ttInst);
6560 return TTDLL.TT_QueryMaxPayload(m_ttInst, nUserID);
6569 return TTDLL.TT_GetClientStatistics(m_ttInst, ref lpClientStatistics);
6588 return TTDLL.TT_SetClientKeepAlive(m_ttInst, ref lpClientKeepAlive);
6599 return TTDLL.TT_GetClientKeepAlive(m_ttInst, ref lpClientKeepAlive);
6625 return TTDLL.TT_DoPing(m_ttInst);
6639 public int DoLogin(
string szNickname,
string szUsername,
string szPassword)
6641 return TTDLL.TT_DoLogin(m_ttInst, szNickname, szUsername, szPassword);
6673 public int DoLoginEx(
string szNickname,
string szUsername,
string szPassword,
6674 string szClientName)
6676 return TTDLL.TT_DoLoginEx(m_ttInst, szNickname, szUsername, szPassword, szClientName);
6693 return TTDLL.TT_DoLogout(m_ttInst);
6736 return TTDLL.TT_DoJoinChannel(m_ttInst, ref lpChannel);
6763 return TTDLL.TT_DoJoinChannelByID(m_ttInst, nChannelID, szPassword);
6786 return TTDLL.TT_DoLeaveChannel(m_ttInst);
6807 return TTDLL.TT_DoChangeNickname(m_ttInst, szNewNick);
6830 return TTDLL.TT_DoChangeStatus(m_ttInst, nStatusMode, szStatusMessage);
6852 return TTDLL.TT_DoTextMessage(m_ttInst, ref lpTextMessage);
6874 public int DoChannelOp(
int nUserID,
int nChannelID,
bool bMakeOperator)
6876 return TTDLL.TT_DoChannelOp(m_ttInst, nUserID, nChannelID, bMakeOperator);
6899 string szOpPassword,
6902 return TTDLL.TT_DoChannelOpEx(m_ttInst, nUserID, nChannelID, szOpPassword, bMakeOperator);
6928 return TTDLL.TT_DoKickUser(m_ttInst, nUserID, nChannelID);
6966 return TTDLL.TT_DoSendFile(m_ttInst, nChannelID, szLocalFilePath);
6997 public int DoRecvFile(
int nChannelID,
int nFileID,
string szLocalFilePath)
6999 return TTDLL.TT_DoRecvFile(m_ttInst, nChannelID, nFileID, szLocalFilePath);
7025 return TTDLL.TT_DoDeleteFile(m_ttInst, nChannelID, nFileID);
7043 return TTDLL.TT_DoSubscribe(m_ttInst, nUserID, uSubscriptions);
7062 return TTDLL.TT_DoUnsubscribe(m_ttInst, nUserID, uSubscriptions);
7091 return TTDLL.TT_DoMakeChannel(m_ttInst, ref lpChannel);
7127 return TTDLL.TT_DoUpdateChannel(m_ttInst, ref lpChannel);
7149 return TTDLL.TT_DoRemoveChannel(m_ttInst, nChannelID);
7172 return TTDLL.TT_DoMoveUser(m_ttInst, nUserID, nChannelID);
7192 return TTDLL.TT_DoUpdateServer(m_ttInst, ref lpServerProperties);
7220 return TTDLL.TT_DoListUserAccounts(m_ttInst, nIndex, nCount);
7246 return TTDLL.TT_DoNewUserAccount(m_ttInst, ref lpUserAccount);
7268 return TTDLL.TT_DoDeleteUserAccount(m_ttInst, szUsername);
7299 return TTDLL.TT_DoBanUser(m_ttInst, nUserID, nChannelID);
7315 return TTDLL.TT_DoBanUserEx(m_ttInst, nUserID, uBanTypes);
7338 return TTDLL.TT_DoBan(m_ttInst, ref lpBannedUser);
7363 return TTDLL.TT_DoBanIPAddress(m_ttInst, szIPAddress, nChannelID);
7388 return TTDLL.TT_DoUnBanUser(m_ttInst, szIPAddress, nChannelID);
7402 return TTDLL.TT_DoUnBanUserEx(m_ttInst, ref lpBannedUser);
7427 return TTDLL.TT_DoListBans(m_ttInst, nChannelID, nIndex, nCount);
7448 return TTDLL.TT_DoSaveConfig(m_ttInst);
7468 return TTDLL.TT_DoQueryServerStats(m_ttInst);
7484 return TTDLL.TT_DoQuit(m_ttInst);
7499 return TTDLL.TT_GetServerProperties(m_ttInst, ref lpServerProperties);
7514 bool b = TTDLL.TT_GetServerUsers_NULL(m_ttInst, IntPtr.Zero, ref count);
7516 b = TTDLL.TT_GetServerUsers(m_ttInst, users, ref count);
7517 lpUsers = b ? users :
null;
7534 return TTDLL.TT_GetRootChannelID(m_ttInst);
7544 return TTDLL.TT_GetMyChannelID(m_ttInst);
7559 return TTDLL.TT_GetChannel(m_ttInst, nChannelID, ref lpChannel);
7570 bool b = TTDLL.TT_GetChannelPath(m_ttInst, nChannelID, ptr);
7572 szChannelPath = Marshal.PtrToStringUni(ptr);
7573 Marshal.FreeHGlobal(ptr);
7584 return TTDLL.TT_GetChannelIDFromPath(m_ttInst, szChannelPath);
7597 bool b = TTDLL.TT_GetChannelUsers_NULL(m_ttInst, nChannelID, IntPtr.Zero, ref count);
7599 b = TTDLL.TT_GetChannelUsers(m_ttInst, nChannelID, users, ref count);
7600 lpUsers = b ? users :
null;
7614 bool b = TTDLL.TT_GetChannelFiles_NULL(m_ttInst, nChannelID, IntPtr.Zero, ref count);
7616 b = TTDLL.TT_GetChannelFiles(m_ttInst, nChannelID, files, ref count);
7617 lpRemoteFiles = b ? files :
null;
7629 return TTDLL.TT_GetChannelFile(m_ttInst, nChannelID, nFileID, ref lpRemoteFile);
7639 return TTDLL.TT_IsChannelOperator(m_ttInst, nUserID, nChannelID);
7650 bool b = TTDLL.TT_GetServerChannels_NULL(m_ttInst, IntPtr.Zero, ref count);
7652 b = TTDLL.TT_GetServerChannels(m_ttInst, channels, ref count);
7653 lpChannels = b ? channels :
null;
7671 return TTDLL.TT_GetMyUserID(m_ttInst);
7686 return TTDLL.TT_GetMyUserAccount(m_ttInst, ref lpUserAccount);
7706 return TTDLL.TT_GetMyUserType(m_ttInst);
7722 return TTDLL.TT_GetMyUserRights(m_ttInst);
7736 return TTDLL.TT_GetMyUserData(m_ttInst);
7752 return TTDLL.TT_GetUser(m_ttInst, nUserID, ref lpUser);
7761 return TTDLL.TT_GetUserStatistics(m_ttInst, nUserID, ref lpUserStatistics);
7773 return TTDLL.TT_GetUserByUsername(m_ttInst, szUsername, ref lpUser);
7793 return TTDLL.TT_SetUserVolume(m_ttInst, nUserID, nStreamType, nVolume);
7808 return TTDLL.TT_SetUserMute(m_ttInst, nUserID, nStreamType, bMute);
7826 return TTDLL.TT_SetUserStoppedPlaybackDelay(m_ttInst, nUserID, nStreamType, nDelayMSec);
7857 return TTDLL.TT_SetUserJitterControl(m_ttInst, nUserID, nStreamType, ref lpJitterConfig);
7874 return TTDLL.TT_GetUserJitterControl(m_ttInst, nUserID, nStreamType, ref lpJitterConfig);
7893 float x,
float y,
float z)
7895 return TTDLL.TT_SetUserPosition(m_ttInst, nUserID, nStreamType, x, y, z);
7910 return TTDLL.TT_SetUserStereo(m_ttInst, nUserID, nStreamType, bLeftSpeaker, bRightSpeaker);
7950 return TTDLL.TT_SetUserMediaStorageDir(m_ttInst, nUserID, szFolderPath, szFileNameVars, uAFF);
7980 return TTDLL.TT_SetUserMediaStorageDirEx(m_ttInst, nUserID, szFolderPath, szFileNameVars, uAFF, nStopRecordingExtraDelayMSec);
8010 return TTDLL.TT_SetUserAudioStreamBufferSize(m_ttInst, nUserID, uStreamType, nMSec);
8033 IntPtr ptr = TTDLL.TT_AcquireUserAudioBlock(m_ttInst, uStreamTypes, nUserID);
8034 if (ptr == IntPtr.Zero)
8037 audioblocks.Add(lpAudioBlock.
lpRawAudio, ptr);
8038 return lpAudioBlock;
8041 Dictionary<IntPtr, IntPtr> audioblocks =
new Dictionary<IntPtr, IntPtr>();
8059 if (audioblocks.TryGetValue(lpAudioBlock.
lpRawAudio, out ptr))
8062 return TTDLL.TT_ReleaseUserAudioBlock(m_ttInst, ptr);
8081 return TTDLL.TT_GetFileTransferInfo(m_ttInst, nTransferID, ref lpFileTransfer);
8094 return TTDLL.TT_CancelFileTransfer(m_ttInst, nTransferID);
8110 TTDLL.TT_GetErrorMessage((
int)nError, ptr);
8111 string s = Marshal.PtrToStringUni(ptr);
8112 Marshal.FreeHGlobal(ptr);
8144 return TTDLL.TT_HotKey_Register(m_ttInst, nHotKeyID, lpnVKCodes, lpnVKCodes.Length);
8153 return TTDLL.TT_HotKey_Unregister(m_ttInst, nHotKeyID);
8162 return TTDLL.TT_HotKey_IsActive(m_ttInst, nHotKeyID);
8175 if (m_eventhandler !=
null)
8178 IntPtr hWnd = m_eventhandler.Hwnd;
8180 IntPtr hWnd = m_eventhandler.Handle;
8182 return TTDLL.TT_HotKey_InstallTestHook(m_ttInst, hWnd,
8183 MyEventHandler.WM_TEAMTALK_CLIENTEVENT);
8194 return TTDLL.TT_HotKey_RemoveTestHook(m_ttInst);
8205 bool b = TTDLL.TT_HotKey_GetKeyString(m_ttInst, nVKCode, ptr);
8207 szKeyName = Marshal.PtrToStringUni(ptr);
8208 Marshal.FreeHGlobal(ptr);
8215 return TTDLL.TT_DBG_SetSoundInputTone(m_ttInst, uStreamTypes, nFrequency);
8222 return TTDLL.TT_DBG_WriteAudioFileTone(ref lpMediaFileInfo, nFrequency);
8715 private IntPtr m_ttInst;
8717 c_tt.MyEventHandler m_eventhandler;
8828 return TTDLL.TT_Mixer_GetMixerCount();
8837 ref
string szMixerName)
8840 bool b = TTDLL.TT_Mixer_GetMixerName(nMixerIndex, ptr);
8842 szMixerName = Marshal.PtrToStringUni(ptr);
8844 Marshal.FreeHGlobal(ptr);
8855 ref
string szMixerName)
8858 bool b = TTDLL.TT_Mixer_GetWaveInName(nWaveDeviceID, ptr);
8860 szMixerName = Marshal.PtrToStringUni(ptr);
8861 Marshal.FreeHGlobal(ptr);
8872 ref
string szMixerName)
8875 bool b = TTDLL.TT_Mixer_GetWaveOutName(nWaveDeviceID, ptr);
8877 szMixerName = Marshal.PtrToStringUni(ptr);
8879 Marshal.FreeHGlobal(ptr);
8895 return TTDLL.TT_Mixer_SetWaveOutMute(nWaveDeviceID, nControl, bMute);
8908 return TTDLL.TT_Mixer_GetWaveOutMute(nWaveDeviceID, nControl);
8920 return TTDLL.TT_Mixer_SetWaveOutVolume(nWaveDeviceID, nControl, nVolume);
8932 return TTDLL.TT_Mixer_GetWaveOutVolume(nWaveDeviceID, nControl);
8943 return TTDLL.TT_Mixer_SetWaveInSelected(nWaveDeviceID, nControl);
8955 return TTDLL.TT_Mixer_GetWaveInSelected(nWaveDeviceID, nControl);
8967 return TTDLL.TT_Mixer_SetWaveInVolume(nWaveDeviceID, nControl, nVolume);
8979 return TTDLL.TT_Mixer_GetWaveInVolume(nWaveDeviceID, nControl);
8989 return TTDLL.TT_Mixer_SetWaveInBoost(nWaveDeviceID, bEnable);
8999 return TTDLL.TT_Mixer_GetWaveInBoost(nWaveDeviceID);
9009 return TTDLL.TT_Mixer_SetWaveInMute(nWaveDeviceID, bEnable);
9019 return TTDLL.TT_Mixer_GetWaveInMute(nWaveDeviceID);
9031 return TTDLL.TT_Mixer_GetWaveInControlCount(nWaveDeviceID);
9044 ref
string szDeviceName)
9047 bool b = TTDLL.TT_Mixer_GetWaveInControlName(nWaveDeviceID, nControlIndex, ptr);
9049 szDeviceName = Marshal.PtrToStringUni(ptr);
9050 Marshal.FreeHGlobal(ptr);
9064 return TTDLL.TT_Mixer_SetWaveInControlSelected(nWaveDeviceID, nControlIndex);
9077 return TTDLL.TT_Mixer_GetWaveInControlSelected(nWaveDeviceID, nControlIndex);
9097 return TTDLL.TT_Firewall_IsEnabled();
9110 return TTDLL.TT_Firewall_Enable(bEnable);
9120 return TTDLL.TT_Firewall_AppExceptionExists(szExecutable);
9133 return TTDLL.TT_Firewall_AddAppException(szName, szExecutable);
9146 return TTDLL.TT_Firewall_RemoveAppException(szExecutable);
9154 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
9181 return TTDLL.TT_Windows_GetDesktopActiveHWND();
9187 return TTDLL.TT_Windows_GetDesktopHWND();
9192 ref System.IntPtr lpHWnd)
9194 return TTDLL.TT_Windows_GetDesktopWindowHWND(nIndex, ref lpHWnd);
9202 return TTDLL.TT_Windows_GetWindow(hWnd, ref lpShareWindow);
9228 lpTranslatedDesktopInputs =
new DesktopInput[lpDesktopInputs.Length];
9229 return TTDLL.TT_DesktopInput_KeyTranslate(nTranslate, lpDesktopInputs,
9230 lpTranslatedDesktopInputs,
9231 lpDesktopInputs.Length);
9256 return TTDLL.TT_DesktopInput_Execute(lpDesktopInputs, lpDesktopInputs.Length);
Class used to load TeamTalk5.dll and instantiate a TeamTalk client in TeamTalk 5 SDK Standard Edition...
TeamTalk5(bool poll_based)
Simply calls TeamTalkBase.TeamTalkBase()
const int DEFAULT_TCPPORT
const int DEFAULT_UDPPORT
Class used to load TeamTalk5Pro.dll and instantiate a TeamTalk client in TeamTalk 5 SDK Professional ...
const int DEFAULT_UDPPORT
const int DEFAULT_TCPPORT
TeamTalk5Pro(bool poll_based)
Simply calls TeamTalkBase.TeamTalkBase()
Abstract class which encapsulates the TeamTalk 5 client. Instantiate either BearWare....
bool DBG_WriteAudioFileTone(MediaFileInfo lpMediaFileInfo, int nFrequency)
bool DBG_SetSoundInputTone(StreamType uStreamTypes, int nFrequency)
A wrapper for the Windows Firewall API.
static bool Enable(bool bEnable)
Enable/disable the Windows Firewall.
static bool RemoveAppException(string szExecutable)
Remove an application from the Windows Firewall exception list.
static bool IsEnabled()
Check if the Windows Firewall is currently enabled.
static bool AddAppException(string szName, string szExecutable)
Add an application to the Windows Firewall exception list.
static bool AppExceptionExists(string szExecutable)
Check if an executable is already in the Windows Firewall exception list.
Helper class for extracting Windows HWND handles and controlling mouse and keyboard.
static bool GetWindow(System.IntPtr hWnd, ref ShareWindow lpShareWindow)
Get the properties of a window from its window handle (HWND).
static bool GetDesktopWindowHWND(int nIndex, ref System.IntPtr lpHWnd)
Get the all the handles (HWND) of visible windows.
static System.IntPtr GetDesktopActiveHWND()
Get the handle (HWND) of the window which is currently active (focused) on the Windows desktop.
static int DesktopInputKeyTranslate(TTKeyTranslate nTranslate, DesktopInput[] lpDesktopInputs, out DesktopInput[] lpTranslatedDesktopInputs)
Translate platform key-code to and from TeamTalk's intermediate format.
static int DesktopInputExecute(DesktopInput[] lpDesktopInputs)
Execute desktop (mouse or keyboard) input.
static System.IntPtr GetDesktopHWND()
Get the handle (HWND) of the Windows desktop (full desktop).
A wrapper for the Windows Mixer API.
static bool SetWaveOutVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
Set the volume of a Windows Mixer Wave-Out device from the 'enum' of devices.
static int GetWaveInVolume(int nWaveDeviceID, MixerControl nControl)
Get the volume of a Windows Mixer Wave-In device from the 'enum' of devices.
static bool SetWaveOutMute(int nWaveDeviceID, MixerControl nControl, bool bMute)
Mute or unmute a Windows Mixer Wave-Out device from the 'enum' of devices.
static bool GetWaveOutName(int nWaveDeviceID, ref string szMixerName)
Get the name of the mixer associated with a wave-out device.
static bool SetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
Set the selected state of a Wave-In device in the Windows Mixer.
static bool SetWaveInBoost(int nWaveDeviceID, bool bEnable)
Enable and disable microphone boost.
static bool GetWaveInControlSelected(int nWaveDeviceID, int nControlIndex)
Get the selected state of a Wave-In device in the Windows Mixer.
static bool GetWaveInName(int nWaveDeviceID, ref string szMixerName)
Get the name of the mixer associated with a wave-in device.
static bool SetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
Set the selected state of a Windows Mixer Wave-In device from the 'enum' of devices.
static int GetWaveInBoost(int nWaveDeviceID)
See if microphone boost is enabled.
static bool SetWaveInMute(int nWaveDeviceID, bool bEnable)
Mute/unmute microphone input.
static int GetMixerCount()
Get the number of Windows Mixers available.
static int GetWaveOutVolume(int nWaveDeviceID, MixerControl nControl)
Get the volume of a Windows Mixer Wave-Out device from the 'enum' of devices.
static bool SetWaveInVolume(int nWaveDeviceID, MixerControl nControl, int nVolume)
Set the volume of a Windows Mixer Wave-In device from the 'enum' of devices.
static int GetWaveInSelected(int nWaveDeviceID, MixerControl nControl)
Get the selected state of a Windows Mixer Wave-In device from the 'enum' of devices.
static int GetWaveInMute(int nWaveDeviceID)
See if microphone is muted.
static int GetWaveInControlCount(int nWaveDeviceID)
Get the number of Windows Mixer Wave-In devices.
static int GetWaveOutMute(int nWaveDeviceID, MixerControl nControl)
Get the mute state of a Windows Mixer Wave-Out device from the 'enum' of devices.
static bool GetWaveInControlName(int nWaveDeviceID, int nControlIndex, ref string szDeviceName)
Get the name of the Wave-In device with the specified index.
static bool GetMixerName(int nMixerIndex, ref string szMixerName)
Get the name of a Windows Mixer based on its name.
int GetRootChannelID()
Get the root channel's ID.
const int TT_TRANSMITUSERS_STREAMTYPE_INDEX
FileTransferStatus
Status of a file transfer.
bool GetChannelFile(int nChannelID, int nFileID, ref RemoteFile lpRemoteFile)
Get information about a file which can be downloaded.
const int TT_TRANSMITQUEUE_MAX
int ChannelID
Same as GetMyChannelID().
const int TT_CLASSROOM_STREAMTYPE_INDEX
const int TT_CLASSROOM_FREEFORALL
int GetChannelIDFromPath(string szChannelPath)
Get the channel ID of the supplied path. Channels are separated by '/'.
const int TT_TRANSMITUSERS_USERID_INDEX
ChannelType
The types of channels supported.
bool IsChannelOperator(int nUserID, int nChannelID)
Check whether user is operator of a channel.
int GetMyChannelID()
Get the channel which the local client instance is currently participating in.
bool GetServerChannels(out Channel[] lpChannels)
Get all the channels on the server.
bool GetChannelUsers(int nChannelID, out User[] lpUsers)
Get the IDs of all users in a channel.
bool GetChannel(int nChannelID, ref Channel lpChannel)
Get the channel with a specific ID.
const int TT_CLASSROOM_USERID_INDEX
const int TT_TRANSMITUSERS_FREEFORALL
bool GetChannelPath(int nChannelID, ref string szChannelPath)
Get the channel's path. Channels are separated by '/'.
bool GetChannelFiles(int nChannelID, out RemoteFile[] lpRemoteFiles)
Get the list of the files in a channel which can be downloaded.
const int TT_TRANSMITUSERS_MAX
The maximum number of users allowed to transmit when a BearWare.Channel is configured with ChannelTyp...
bool CancelFileTranfer(int nTransferID)
Cancel an active file transfer.
bool GetFileTransferInfo(int nTransferID, ref FileTransfer lpFileTransfer)
Get information about an active file transfer.
@ FILETRANSFER_ACTIVE
File transfer active.
@ FILETRANSFER_FINISHED
File transfer finished.
@ FILETRANSFER_ERROR
Error during file transfer.
@ CHANNEL_NO_VOICEACTIVATION
Don't allow voice transmission if it's trigged by voice activation.
@ CHANNEL_PERMANENT
A channel which persists even when the last user leaves the channel.
@ CHANNEL_OPERATOR_RECVONLY
Only channel operators (and administrators) will receive audio/video/desktop transmissions....
@ CHANNEL_DEFAULT
A default channel is a channel which disappears after the last user leaves the channel.
@ CHANNEL_CLASSROOM
Voice and video transmission in the channel is controlled by a channel operator.
@ CHANNEL_NO_RECORDING
Don't allow recording to files in the channel.
@ CHANNEL_SOLO_TRANSMIT
Only one user can transmit at a time.
@ CHANNEL_HIDDEN
Hidden channel which can only be seen with UserRight.USERRIGHT_VIEW_HIDDEN_CHANNELS.
Codec
The codecs supported.
AudioPreprocessorType
The types of supported audio preprocessors.
@ WEBM_VP8_CODEC
WebM video codec.
@ SPEEX_VBR_CODEC
Speex audio codec in VBR mode, http://www.speex.org.
@ NO_CODEC
No codec specified.
@ SPEEX_CODEC
Speex audio codec, http://www.speex.org.
@ OPUS_CODEC
OPUS audio codec.
@ SPEEXDSP_AUDIOPREPROCESSOR
Use the BearWare.SpeexDSP audio preprocessor.
@ WEBRTC_AUDIOPREPROCESSOR
Use WebRTC's audio preprocessor from BearWare.WebRTCAudioPreprocessor. https://webrtc....
@ TEAMTALK_AUDIOPREPROCESSOR
Use TeamTalk's internal audio preprocessor BearWare.TTAudioPreprocessor.
@ NO_AUDIOPREPROCESSOR
Value for specifying that no audio preprocessing should occur.
int DoRecvFile(int nChannelID, int nFileID, string szLocalFilePath)
Download a file from the specified channel.
int DoPing()
Ping server and wait for server to reply.
int DoJoinChannel(Channel lpChannel)
Create a new channel and join it.
int DoListBans(int nChannelID, int nIndex, int nCount)
Issue a command to list the banned users.
int DoUnBanUser(string szIPAddress, int nChannelID)
Unban the user with the specified IP-address.
int DoMoveUser(int nUserID, int nChannelID)
Issue command to move a user from one channel to another.
int DoBanUser(int nUserID, int nChannelID)
Issue a ban command on a user in a specific channel.
int DoChannelOpEx(int nUserID, int nChannelID, string szOpPassword, bool bMakeOperator)
Make another user operator of a channel using the szOpPassword of BearWare.Channel.
int DoBanUserEx(int nUserID, BanType uBanTypes)
Ban the user with nUserID using the ban types specified.
int DoChangeStatus(int nStatusMode, string szStatusMessage)
Change the client instance's currect status.
int DoSendFile(int nChannelID, string szLocalFilePath)
Send a file to the specified channel.
int DoLogin(string szNickname, string szUsername, string szPassword)
Same as DologinEx() but without the option to specify szClientName. Kept for backwards compatibility.
int DoChannelOp(int nUserID, int nChannelID, bool bMakeOperator)
Make another user operator of a channel.
int DoDeleteUserAccount(string szUsername)
Issue command to delete a user account on the server.
int DoUnsubscribe(int nUserID, Subscription uSubscriptions)
Unsubscribe to user events/data. This can be used to ignore messages or voice data from a specific us...
int DoQueryServerStats()
Get the server's current statistics.
int DoMakeChannel(Channel lpChannel)
Make a new channel on the server.
int DoKickUser(int nUserID, int nChannelID)
Kick user from either channel or server.
int DoSaveConfig()
Save the server's current state to its settings file (typically the server's .xml file).
int DoDeleteFile(int nChannelID, int nFileID)
Delete a file from a channel.
int DoQuit()
Quit from server.
int DoUpdateChannel(Channel lpChannel)
Update a channel's properties.
int DoLeaveChannel()
Leave the current channel.
int DoUnBanUserEx(BannedUser lpBannedUser)
Unban the properties specified in BearWare.BannedUser.
int DoNewUserAccount(UserAccount lpUserAccount)
Issue command to create a new user account on the server.
int DoSubscribe(int nUserID, Subscription uSubscriptions)
Subscribe to user events and/or data.
int DoBanIPAddress(string szIPAddress, int nChannelID)
Issue a ban command on an IP-address user.
int DoLoginEx(string szNickname, string szUsername, string szPassword, string szClientName)
Logon to a server.
int DoBan(BannedUser lpBannedUser)
Ban the properties specified in lpBannedUser.
int DoJoinChannelByID(int nChannelID, string szPassword)
Join an existing channel.
int DoLogout()
Logout of the server.
int DoChangeNickname(string szNewNick)
Change the client instance's nick name.
int DoListUserAccounts(int nIndex, int nCount)
Issue command to list user accounts on the server.
int DoUpdateServer(ServerProperties lpServerProperties)
Update server properties.
int DoRemoveChannel(int nChannelID)
Remove a channel from a server.
int DoTextMessage(TextMessage lpTextMessage)
Send a text message to either a user or a channel.
bool Connect(string szHostAddress, int nTcpPort, int nUdpPort, int nLocalTcpPort, int nLocalUdpPort, bool bEncrypted)
Connect to a server.
bool SetClientKeepAlive(ClientKeepAlive lpClientKeepAlive)
Update the client instance's default keep alive settings.
bool ConnectSysID(string szHostAddress, int nTcpPort, int nUdpPort, int nLocalTcpPort, int nLocalUdpPort, bool bEncrypted, string szSystemID)
Same as Connect() but the option of providing a unique system-ID.
bool GetClientStatistics(ref ClientStatistics lpClientStatistics)
Retrieve client statistics of bandwidth usage and response times.
bool QueryMaxPayload(int nUserID)
Query the maximum size of UDP data packets to the user or server.
bool ConnectEx(string szHostAddress, int nTcpPort, int nUdpPort, string szBindIPAddr, int nLocalTcpPort, int nLocalUdpPort, bool bEncrypted)
Bind to specific IP-address prior to connecting to server.
bool SetEncryptionContext(EncryptionContext lpEncryptionContext)
Setup encryption properties prior to Connect().
bool Disconnect()
Disconnect from the server.
bool GetClientKeepAlive(ref ClientKeepAlive lpClientKeepAlive)
Get the client instance's current keep alive settings.
const ushort DESKTOPINPUT_MOUSEPOS_IGNORE
DesktopWindow AcquireUserDesktopWindowEx(int nUserID, BitmapFormat nBitmapFormat)
Same as TeamTalkBase.AcquireUserDesktopWindow() except an extra option for converting bitmap to a dif...
int SendDesktopWindow(DesktopWindow lpDesktopWindow, BitmapFormat nConvertBmpFormat)
Transmit a desktop window (bitmap) to users in the same channel.
const uint DESKTOPINPUT_KEYCODE_IGNORE
TTKeyTranslate
Translate to and from TeamTalk's intermediate key-codes (TTKEYCODE).
DesktopKeyState
The state of a key (or mouse button), i.e. if it's pressed or released.
DesktopWindow AcquireUserDesktopWindow(int nUserID)
Get a user's desktop window (bitmap image).
bool PaintDesktopWindow(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight)
Paint user's desktop window using a Windows' DC (device context).
int SendDesktopWindowFromHWND(System.IntPtr hWnd, BitmapFormat nBitmapFormat, DesktopProtocol nDesktopProtocol)
Transmit the specified window in a desktop session.
const uint DESKTOPINPUT_KEYCODE_LMOUSEBTN
DesktopProtocol
The protocols supported for transferring a BearWare.DesktopWindow.
bool PaintDesktopWindowEx(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight, int XSrc, int YSrc, int nSrcWidth, int nSrcHeight)
Paint user's desktop window using a Windows' DC (device context).
const uint DESKTOPINPUT_KEYCODE_RMOUSEBTN
bool CloseDesktopWindow()
Close the current desktop session.
const int TT_DESKTOPINPUT_MAX
bool SendDesktopInput(int nUserID, DesktopInput[] lpDesktopInputs)
Send a mouse or keyboard event to a shared desktop window.
bool ReleaseUserDesktopWindow(DesktopWindow lpDesktopWindow)
Release memory allocated by the BearWare.DesktopWindow.
BitmapFormat
The bitmap format used for a BearWare.DesktopWindow.
const uint DESKTOPINPUT_KEYCODE_MMOUSEBTN
bool SendDesktopCursorPosition(ushort nPosX, ushort nPosY)
Send the position of mouse cursor to users in the same channel.
static System.Drawing.Color Palette_GetColorTable(BitmapFormat nBmpPalette, int nIndex)
Get RGB values of the palette for the bitmap format.
@ TTKEY_MACKEYCODE_TO_TTKEYCODE
Translate from Mac OS X Carbon kVK_* key-code to TTKEYCODE. The Mac OS X key-codes are defined in Car...
@ TTKEY_TTKEYCODE_TO_WINKEYCODE
Translate from TTKEYCODE to Windows scan-code.
@ TTKEY_WINKEYCODE_TO_TTKEYCODE
Translate from Windows scan-code to TTKEYCODE. The Windows scan-code can be retrieved in Windows' WM_...
@ TTKEY_TTKEYCODE_TO_MACKEYCODE
Translate from TTKEYCODE to Mac OS X Carbon kVK_* key-code.
@ TTKEY_NO_TRANSLATE
Perform no translation.
@ DESKTOPKEYSTATE_DOWN
The key is pressed.
@ DESKTOPKEYSTATE_NONE
The key is ignored.
@ DESKTOPKEYSTATE_UP
The key is released.
@ DESKTOPPROTOCOL_ZLIB_1
Desktop protocol based on ZLIB for image compression and UDP for data transmission.
@ BMP_RGB8_PALETTE
The bitmap is a 256-colored bitmap requiring a palette. The default 256 colored palette is the Netsca...
@ BMP_RGB24
The bitmap is a 24-bit colored bitmap. The maximum size of a 24-bit bitmap is 4095 blocks of 85 by 16...
@ BMP_RGB32
The bitmap is a 32-bit colored bitmap. The maximum size of a 32-bit bitmap is 4095 blocks of 51 by 20...
@ BMP_NONE
Used to denote nothing selected.
@ BMP_RGB16_555
The bitmap is a 16-bit colored bitmap. The maximum pixels.
static string GetErrorMessage(ClientError nError)
Get textual discription of an error message.
ClientError
Errors which can occur either as a result of client commands or as a result of internal errors.
@ CMDERR_CHANNEL_ALREADY_EXISTS
Channel already exists.
@ CMDERR_MAX_DISKUSAGE_EXCEEDED
Cannot upload file because disk quota will be exceeded.
@ CMDERR_BAN_NOT_FOUND
Banned IP-address does not exist.
@ CMDERR_MISSING_PARAMETER
Command cannot be performed due to missing parameter. Only used internally.
@ INTERR_SNDEFFECT_FAILURE
BearWare.SoundDeviceEffects failed to initialize.
@ CMDERR_COMMAND_FLOOD
Command flooding prevented by server.
@ CMDERR_INCORRECT_OP_PASSWORD
Invalid password for becoming channel operator.
@ CMDERR_INCOMPATIBLE_PROTOCOLS
The server uses a protocol which is incompatible with the client instance.
@ CMDERR_CHANNEL_CANNOT_BE_HIDDEN
Cannot apply ChannelType.CHANNEL_HIDDEN to BearWare.Channel's channel type.
@ CMDERR_OPENFILE_FAILED
Server failed to open file.
@ CMDERR_CHANNEL_BANNED
Banned from joining a channel.
@ CMDERR_SUCCESS
Command indicating success.
@ CMDERR_ALREADY_LOGGEDIN
Already logged in.
@ INTERR_TTMESSAGE_QUEUE_OVERFLOW
BearWare.TTMessage event queue overflowed.
@ CMDERR_INCORRECT_CHANNEL_PASSWORD
Invalid channel password.
@ CMDERR_MAX_SERVER_USERS_EXCEEDED
Login failed due to maximum number of users on server.
@ INTERR_SNDOUTPUT_FAILURE
A sound output device failed.
@ INTERR_AUDIOPREPROCESSOR_INIT_FAILED
BearWare.AudioPreprocessor failed to initialize.
@ CMDERR_INVALID_USERNAME
Invalid username for BearWare.UserAccount.
@ CMDERR_USER_NOT_FOUND
User not found.
@ CMDERR_AUDIOCODEC_BITRATE_LIMIT_EXCEEDED
The selected BearWare.AudioCodec exceeds what the server allows.
@ INTERR_AUDIOCODEC_INIT_FAILED
Audio codec used by channel failed to initialize. Ensure the settings specified in BearWare....
@ CMDERR_FILE_ALREADY_EXISTS
File already exist.
@ CMDERR_MAX_CHANNEL_USERS_EXCEEDED
Cannot join channel because it has maximum number of users.
@ CMDERR_FILE_NOT_FOUND
File does not exist.
@ INTERR_SNDINPUT_FAILURE
A sound input device failed.
@ CMDERR_NOT_LOGGEDIN
Client instance has not been authenticated.
@ CMDERR_SERVER_BANNED
IP-address has been banned from server.
@ CMDERR_ACCOUNT_NOT_FOUND
Cannot find user account.
@ CMDERR_SYNTAX_ERROR
Command has syntax error. Only used internally.
@ CMDERR_CHANNEL_HAS_USERS
Cannot process command since channel is not empty.
@ CMDERR_FILETRANSFER_NOT_FOUND
File transfer doesn't exists.
@ CMDERR_UNKNOWN_COMMAND
The server doesn't support the issued command.
@ CMDERR_ALREADY_IN_CHANNEL
Cannot join same channel twice.
@ CMDERR_FILESHARING_DISABLED
Server does not allow file transfers.
@ CMDERR_INVALID_ACCOUNT
Invalid username or password for account.
@ CMDERR_MAX_CHANNELS_EXCEEDED
The maximum number of channels has been exceeded.
@ CMDERR_UNKNOWN_AUDIOCODEC
The server does not support the audio codec specified by the client. Introduced in version 4....
@ INTERR_SPEEXDSP_INIT_FAILED
Same as ClientError.INTERR_AUDIOPREPROCESSOR_INIT_FAILED.
@ CMDERR_MAX_LOGINS_PER_IPADDRESS_EXCEEDED
The maximum number of logins allowed per IP-address has been exceeded.
@ CMDERR_NOT_IN_CHANNEL
Cannot leave channel because not in channel.
@ CMDERR_CHANNEL_NOT_FOUND
Channel does not exist.
@ CMDERR_NOT_AUTHORIZED
Command not authorized.
@ CMDERR_LOGINSERVICE_UNAVAILABLE
The login service is currently unavailable.
@ CMDERR_INCORRECT_SERVER_PASSWORD
Invalid server password.
delegate void ServerStats(ServerStatistics serverstatistics)
Delegate for event OnCmdServerStatistics.
delegate void UserUpdate(User user)
Delegate for events OnCmdUserLoggedIn, OnCmdUserLoggedOut, OnCmdUserUpdate, OnCmdUserJoinedChannel an...
UserDesktopInput OnUserDesktopCursor
A user has sent the position of the mouse cursor.
UserUpdate OnCmdUserJoinedChannel
A user has joined a channel.
CommandProcessing OnCmdProcessing
A command issued by Do* methods is being processed.
HotKeyTest OnHotKeyTest
A button was pressed or released on the user's keyboard or mouse.
delegate void NewAudioBlock(int nUserID, StreamType nStreamType)
Delegate for event OnUserAudioBlock.
Connection OnConnectionLost
Connection to server has been lost.
DesktopTransferUpdate OnDesktopWindowTransfer
Used for tracking when a desktop window has been transmitted to the server.
delegate void UserRecordMediaFile(int nUserID, MediaFileInfo mediafileinfo)
Delegate for event OnUserRecordMediaFile.
CommandError OnCmdError
The server rejected a command issued by the local client instance.
MaxPayloadUpdate OnConnectionMaxPayloadUpdated
The maximum size of the payload put into UDP packets has been updated.
delegate void StreamMediaFile(MediaFileInfo mediafileinfo)
Delegate for event OnStreamMediaFile.
UserUpdate OnCmdUserUpdate
User changed properties.
delegate void MyselfLoggedOut()
Delegate for event OnCmdMyselfLoggedOut.
delegate void CommandSuccess(int nCmdID)
Delegate for event CommandSuccess.
delegate void UserVideoFrame(int nUserID, int nStreamID)
A delegate for the event OnUserVideoCapture.
ChannelUpdate OnCmdChannelUpdate
A channel's properties has been updated.
delegate void ErrorOccured(ClientErrorMsg clienterrormsg)
Delegate for event OnInternalError.
NewAudioBlock OnUserAudioBlock
A new audio block can be extracted.
VoiceActivation OnVoiceActivation
Voice activation has triggered transmission.
MyselfLoggedOut OnCmdMyselfLoggedOut
The client instance logged out of a server.
MyselfLoggedIn OnCmdMyselfLoggedIn
The client instance successfully logged on to server.
delegate void DesktopTransferUpdate(int nSessionID, int nBytesRemain)
Delegate for event OnDesktopWindowTransfer().
delegate void VoiceActivation(bool bVoiceActive)
Delegate for event OnVoiceActivation.
delegate void ServerUpdate(ServerProperties serverproperties)
Delegate for event OnCmdServerUpdate.
delegate void UserTextMessage(TextMessage textmessage)
Delegate for events OnCmdUserTextMessage.
HotKeyToggle OnHotKeyToggle
A hotkey has been acticated or deactivated.
delegate void MyselfKicked(User user)
Delegate for event OnCmdMyselfKicked.
LocalMediaFile OnLocalMediaFile
Media file is being played locally.
delegate void MaxPayloadUpdate(int nPayloadSize)
Delegate for event OnConnectionMaxPayloadUpdated().
UserTextMessage OnCmdUserTextMessage
A user has sent a text-message.
delegate void ChannelUpdate(Channel channel)
Delegate for OnCmdChannelNew, OnCmdChannelUpdate and OnCmdChannelRemove.
delegate void HotKeyToggle(int nHotKeyID, bool bActive)
Delegate for event OnHotKeyToggle.
AudioInput OnAudioInput
Audio input progress as result of TeamTalkBase.InsertAudioBlock()
Connection OnConnectionSuccess
Connected successfully to the server.
UserUpdate OnCmdUserLoggedOut
A user logged out of the server.
delegate void UserStreamUpdate(User user, int nStreamID)
Delegate for events OnUserFirstVoiceStreamPacket.
ErrorOccured OnInternalError
A internal error occured.
CommandSuccess OnCmdSuccess
The server successfully processed a command issued by the local client instance.
StreamMediaFile OnStreamMediaFile
Media file being streamed to a channel is processing.
delegate void UserDesktopInput(int nSrcUserID, DesktopInput desktopinput)
Delegate for event OnUserDesktopCursor().
delegate void HotKeyTest(int nVkCode, bool bActive)
Delegate for event OnHotKeyTest.
MyselfKicked OnCmdMyselfKicked
The client instance was kicked from a channel.
UserVideoFrame OnUserMediaFileVideo
A new video frame was received from a user.
UserVideoFrame OnUserVideoCapture
A new video frame was received from a user.
ChannelUpdate OnCmdChannelNew
A new channel has been created.
delegate void FileTransferUpdate(FileTransfer filetransfer)
Delegate for event OnFileTransfer.
ListUserAccount OnCmdUserAccount
A new user account has been listed by the server. Event handler for ClientEvent.CLIENTEVENT_CMD_USERA...
UserStreamUpdate OnUserFirstVoiceStreamPacket
The first voice packet of a new voice stream has been received.
FileUpdate OnCmdFileNew
A new file is added to a channel.
delegate void NewDesktopWindow(int nUserID, int nStreamID)
Delegate for event OnUserDesktopWindow.
delegate void CommandProcessing(int nCmdID, bool bActive)
Delegate for event OnCmdProcessing.
ListBannedUser OnCmdBannedUser
A new banned user has been listed by the server. Event handler for ClientEvent.CLIENTEVENT_CMD_BANNED...
delegate void AudioInput(AudioInputProgress aip)
Delegate for event OnAudioInput.
ServerStats OnCmdServerStatistics
Server statistics available.
UserUpdate OnUserStateChange
A user's state has been updated.
delegate void ListBannedUser(BannedUser banneduser)
A delegate for event OnCmdUserAccount.
UserRecordMediaFile OnUserRecordMediaFile
An media file recording has changed status.
delegate void LocalMediaFile(MediaFileInfo mediafileinfo)
Delegate for event OnLocalMediaFile.
delegate void CommandError(int nCmdID, ClientErrorMsg clienterrormsg)
Delegate for event OnCmdError.
delegate void FileUpdate(RemoteFile remotefile)
A delegate for events OnCmdFileNew and OnCmdFileRemove.
ClientEvent
TeamTalk client event messages.
delegate void ListUserAccount(UserAccount useraccount)
A delegate for event OnCmdUserAccount.
NewDesktopWindow OnUserDesktopWindow
A new or updated desktop window has been received from a user.
UserUpdate OnCmdUserLoggedIn
A new user logged on to the server.
FileUpdate OnCmdFileRemove
A file has been removed from a channel.
ServerUpdate OnCmdServerUpdate
Server has updated its settings (server name, MOTD, etc.)
UserUpdate OnCmdUserLeftChannel
User has left a channel.
FileTransferUpdate OnFileTransfer
A file transfer is processing.
Connection OnConnectionFailed
Failed to connect to server.
delegate void Connection()
Delegate for events OnConnectionSuccess, OnConnectionFailed and OnConnectionLost.
UserDesktopInput OnUserDesktopInput
Desktop input (mouse or keyboard input) has been received from a user.
ChannelUpdate OnCmdChannelRemove
A channel has been removed. Event handler for ClientEvent.CLIENTEVENT_CMD_CHANNEL_REMOVE.
delegate void MyselfLoggedIn(int nMyUserID, UserAccount useraccount)
Delegate for event OnCmdMyselfLoggedIn.
@ __AUDIOPREPROCESSORTYPE
@ __WEBRTCAUDIOPREPROCESSOR
@ CLIENTEVENT_CMD_FILE_REMOVE
A file has been removed from a channel.
@ CLIENTEVENT_CMD_CHANNEL_UPDATE
A channel's properties has been updated.
@ CLIENTEVENT_USER_DESKTOPCURSOR
A user has sent the position of the mouse cursor.
@ CLIENTEVENT_STREAM_MEDIAFILE
Media file being streamed to a channel is processing.
@ CLIENTEVENT_CMD_SUCCESS
The server successfully processed a command issued by the local client instance.
@ CLIENTEVENT_CMD_MYSELF_KICKED
The client instance was kicked from a channel.
@ CLIENTEVENT_USER_STATECHANGE
A user state has changed.
@ CLIENTEVENT_CMD_MYSELF_LOGGEDOUT
The client instance logged out of the server.
@ CLIENTEVENT_FILETRANSFER
A file transfer is processing.
@ CLIENTEVENT_CMD_USER_JOINED
A user has joined a channel.
@ CLIENTEVENT_HOTKEY
A hotkey has been acticated or deactivated.
@ CLIENTEVENT_CMD_USER_UPDATE
User changed properties.
@ CLIENTEVENT_LOCAL_MEDIAFILE
Media file played locally is procesing.
@ CLIENTEVENT_HOTKEY_TEST
A button was pressed or released on the user's keyboard or mouse.
@ CLIENTEVENT_USER_AUDIOBLOCK
A new audio block can be extracted.
@ CLIENTEVENT_CON_MAX_PAYLOAD_UPDATED
The maximum size of the payload put into UDP packets has been updated.
@ CLIENTEVENT_USER_FIRSTVOICESTREAMPACKET
The first voice packet of a new voice stream has been received.
@ CLIENTEVENT_CMD_SERVER_UPDATE
Server has updated its settings (server name, MOTD, etc.)
@ CLIENTEVENT_USER_MEDIAFILE_VIDEO
A new video frame from a video media file was received from a user.
@ CLIENTEVENT_CON_LOST
Connection to server has been lost.
@ CLIENTEVENT_CMD_FILE_NEW
A new file is added to a channel.
@ CLIENTEVENT_USER_DESKTOPINPUT
Desktop input (mouse or keyboard input) has been received from a user.
@ CLIENTEVENT_CMD_MYSELF_LOGGEDIN
The client instance successfully logged on to server.
@ CLIENTEVENT_CON_SUCCESS
Connected successfully to the server.
@ CLIENTEVENT_USER_RECORD_MEDIAFILE
A media file recording has changed status.
@ CLIENTEVENT_USER_DESKTOPWINDOW
A new or updated desktop window has been received from a user.
@ CLIENTEVENT_CMD_ERROR
The server rejected a command issued by the local client instance.
@ CLIENTEVENT_AUDIOINPUT
Progress is audio being injected as StreamType.STREAMTYPE_VOICE.
@ CLIENTEVENT_CMD_USER_LEFT
User has left a channel.
@ CLIENTEVENT_CMD_PROCESSING
A command issued by TeamTalkBase.Do* methods is being processed.
@ CLIENTEVENT_CMD_BANNEDUSER
A banned user has been received from the server.
@ CLIENTEVENT_CON_FAILED
Failed to connect to server.
@ CLIENTEVENT_CMD_CHANNEL_NEW
A new channel has been created.
@ CLIENTEVENT_CMD_SERVERSTATISTICS
Server statistics available.
@ CLIENTEVENT_USER_VIDEOCAPTURE
A new video frame from a video capture device was received from a user.
@ CLIENTEVENT_CMD_USERACCOUNT
A user account has been received from the server.
@ CLIENTEVENT_CMD_USER_TEXTMSG
A user has sent a text-message.
@ CLIENTEVENT_CMD_USER_LOGGEDOUT
A client logged out of the server.
@ CLIENTEVENT_INTERNAL_ERROR
An internal error occurred in the client instance.
@ CLIENTEVENT_CMD_USER_LOGGEDIN
A new user logged on to the server.
@ CLIENTEVENT_CMD_CHANNEL_REMOVE
A channel has been removed.
@ CLIENTEVENT_VOICE_ACTIVATION
Voice activation has triggered transmission.
@ CLIENTEVENT_DESKTOPWINDOW_TRANSFER
Used for tracking when a desktop window has been transmitted to the server.
bool HotKey_Register(int nHotKeyID, int[] lpnVKCodes)
Register a global hotkey.
bool HotKey_GetKeyString(int nVKCode, ref string szKeyName)
Get a string description of the virtual-key code.
int HotKey_IsActive(int nHotKeyID)
Check whether hotkey is active.
bool HotKey_Unregister(int nHotKeyID)
Unregister a registered hotkey.
bool HotKey_RemoveTestHook()
Remove the test hook again so the OnHotKeyTest event will no longer be notified.
bool HotKey_InstallTestHook()
Install a test hook which calls the event OnHotKeyTest whenever a key or mouse button is pressed.
bool GetMessage(ref TTMessage pMsg, int nWaitMs)
Poll for events in the client instance.
const int TT_CHANNELID_MAX
The highest channel ID. Also used for TT_CLASSROOM_FREEFORALL.
const int TT_LOCAL_USERID
User ID passed to TeamTalkBase.EnableAudioBlockEvent() in order to receive BearWare....
BearWare.ClientFlag GetFlags()
Get a bitmask describing the client's current state.
const int TT_MUXED_USERID
User ID used to identify muxed audio that has been mixed into a single stream.
TeamTalkBase(bool poll_based)
Create a new TeamTalk client instance.
ClientFlag
Flags used to describe the the client instance current state.
bool PumpMessage(ClientEvent nClientEvent, int nIdentifier)
Cause client instance event thread to schedule an update event.
const int TT_USERID_MAX
The highest user ID.
const int TT_LOCAL_TX_USERID
User ID passed to TeamTalkBase.EnableAudioBlockEvent() in order to receive BearWare....
void ProcessMsg(TTMessage msg)
Event handler for BearWare.TTMessage.
static string GetVersion()
Get the DLL's version number.
ClientFlag Flags
Same as GetFlags().
static bool SetLicenseInformation(string szRegName, string szRegKey)
Set license information to disable trial mode.
const int TT_STRLEN
The maximum length of all strings used in TeamTalkBase. This value includes the zero terminator,...
@ CLIENT_CLOSED
The client instance is in closed state, i.e. no operations has been performed on it.
@ CLIENT_VIDEOCAPTURE_READY
If set the client instance's video device has been initialized, i.e. TeamTalkBase....
@ CLIENT_CONNECTION
Helper for ClientFlag.CLIENT_CONNECTING and ClientFlag.CLIENT_CONNECTED to see if TeamTalkBase....
@ CLIENT_CONNECTED
If set the client instance is connected to a server, i.e. ClientEvent.CLIENTEVENT_CON_SUCCESS event h...
@ CLIENT_SNDINOUTPUT_DUPLEX
If set the client instance is running in sound duplex mode where multiple audio output streams are mi...
@ CLIENT_SNDOUTPUT_READY
If set the client instance's sound output device has been initialized, i.e. TeamTalkBase....
@ CLIENT_CONNECTING
If set the client instance is currently try to connect to a server, i.e. TeamTalkBase....
@ CLIENT_STREAM_VIDEO
If set the client is currently streaming the video of a media file. When streaming a video file the C...
@ CLIENT_MUX_AUDIOFILE
If set the client instance is currently muxing audio streams into a single file. This is enabled by c...
@ CLIENT_SNDOUTPUT_AUTO3DPOSITION
If set the client instance will auto position users in a 180 degree circle using 3D-sound....
@ CLIENT_DESKTOP_ACTIVE
If set the client instance current have an active desktop session, i.e. TeamTalkBase....
@ CLIENT_SNDINPUT_READY
If set the client instance's sound input device has been initialized, i.e. TeamTalkBase....
@ CLIENT_STREAM_AUDIO
If set the client is currently streaming the audio of a media file. When streaming a video file the C...
@ CLIENT_SNDINPUT_VOICEACTIVATED
If set the client instance will start transmitting audio if the sound level is above the voice activa...
@ CLIENT_TX_VOICE
If set the client instance is currently transmitting audio.
@ CLIENT_TX_VIDEOCAPTURE
If set the client instance is currently transmitting video.
@ CLIENT_SNDINPUT_VOICEACTIVE
If set GetSoundInputLevel() is higher than the voice activation level. To enable voice transmission i...
@ CLIENT_TX_DESKTOP
If set the client instance is currently transmitting a desktop window. A desktop window update is iss...
@ CLIENT_AUTHORIZED
If set the client instance is logged on to a server, i.e. got ClientEvent.CLIENTEVENT_CMD_MYSELF_LOGG...
@ CLIENT_SNDOUTPUT_MUTE
If set the client instance has muted all users.
MixerControl
The Windows mixer controls which can be queried by the BearWare.WindowsMixer class.
UserRight
The rights users have once they have logged on to the server.
ServerLogEvent
Events that are logged by the server, i.e. written to server's log file.
bool GetServerUsers(out User[] lpUsers)
Get all the users on the server.
bool GetServerProperties(ref ServerProperties lpServerProperties)
Get the server's properties.
BanType
Way to ban a user from either login or joining a channel.
@ USERRIGHT_TRANSMIT_DESKTOP
User is allowed to forward desktop packets through server.
@ USERRIGHT_MULTI_LOGIN
Allow multiple users to log on to the server with the same BearWare.UserAccount.
@ USERRIGHT_TRANSMIT_VOICE
Users are allowed to forward audio packets through server. TeamTalkBase.EnableVoiceTransmission()
@ USERRIGHT_CREATE_TEMPORARY_CHANNEL
User is allowed to create temporary channels which disappear when last user leaves the channel.
@ USERRIGHT_TRANSMIT_VIDEOCAPTURE
User is allowed to forward video packets through server. TeamTalkBase.StartVideoCaptureTransmission()
@ USERRIGHT_KICK_USERS
User can kick users off the server.
@ USERRIGHT_UPDATE_SERVERPROPERTIES
User can update server properties.
@ USERRIGHT_ALL
User with all rights.
@ USERRIGHT_LOCKED_NICKNAME
User's nick name is locked. TeamTalkBase.DoChangeNickname() cannot be used and TeamTalkBase....
@ USERRIGHT_TRANSMIT_MEDIAFILE
User is allowed to media files to channel.
@ USERRIGHT_BAN_USERS
User can add and remove banned users.
@ USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO
User is allowed to stream video files to channel.
@ USERRIGHT_TEXTMESSAGE_BROADCAST
User can broadcast text message of type TextMsgType.MSGTYPE_BROADCAST to all users.
@ USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO
User is allowed to stream audio files to channel.
@ USERRIGHT_OPERATOR_ENABLE
User can make other users channel operator.
@ USERRIGHT_TRANSMIT_DESKTOPINPUT
User is allowed to forward desktop input packets through server.
@ USERRIGHT_MOVE_USERS
User can move users from one channel to another.
@ USERRIGHT_LOCKED_STATUS
User's status is locked. TeamTalkBase.DoChangeStatus() cannot be used.
@ USERRIGHT_VIEW_ALL_USERS
User can see users in all other channels.
@ USERRIGHT_DOWNLOAD_FILES
User can download files from channels.
@ USERRIGHT_UPLOAD_FILES
User can upload files to channels.
@ USERRIGHT_VIEW_HIDDEN_CHANNELS
User can see hidden channels, ChannelType.CHANNEL_HIDDEN.
@ USERRIGHT_MODIFY_CHANNELS
User is allowed to create permanent channels which are stored in the server's configuration file.
@ USERRIGHT_RECORD_VOICE
User can record voice in all channels. Even channels with ChannelType.CHANNEL_NO_RECORDING.
@ USERRIGHT_NONE
Users who log onto the server has none of the rights below.
@ SERVERLOGEVENT_USER_MOVED
User was moved to another channel is logged to file by the server.
@ SERVERLOGEVENT_USER_LEFTCHANNEL
User left a channel is logged to file by the server.
@ SERVERLOGEVENT_USER_LOGGEDIN
User logged in is logged to file by the server.
@ SERVERLOGEVENT_USER_DISCONNECTED
User disconnected from server is logged to file by the server.
@ SERVERLOGEVENT_SERVER_SAVECONFIG
User saved server's configuration is logged to file by the server.
@ SERVERLOGEVENT_CHANNEL_REMOVED
User removed a channel is logged to file by the server.
@ SERVERLOGEVENT_FILE_DELETED
User deleted a file is logged to file by the server.
@ SERVERLOGEVENT_FILE_DOWNLOADED
User downloaded a file is logged to file by the server.
@ SERVERLOGEVENT_USER_KICKED
User was kicked is logged to file by the server.
@ SERVERLOGEVENT_USER_JOINEDCHANNEL
User joined a channel is logged to file by the server.
@ SERVERLOGEVENT_USER_TEXTMESSAGE_BROADCAST
User's broadcast text messages are logged to file by the server.
@ SERVERLOGEVENT_USER_TEXTMESSAGE_CHANNEL
User's channel text messages are logged to file by the server.
@ SERVERLOGEVENT_SERVER_UPDATED
User updated server's properties is logged to file by the server.
@ SERVERLOGEVENT_USER_CONNECTED
User's IP-address is logged to file by serer.
@ SERVERLOGEVENT_USER_TIMEDOUT
User disconnected due to connection timeout is logged to file by the server.
@ SERVERLOGEVENT_USER_LOGINFAILED
User failed to log in is logged to file by the server.
@ SERVERLOGEVENT_USER_LOGGEDOUT
User logged out is logged to file by the server.
@ SERVERLOGEVENT_NONE
Nothing is logged to file by server.
@ SERVERLOGEVENT_USER_TEXTMESSAGE_PRIVATE
User's private text messages are logged to file by the server.
@ SERVERLOGEVENT_CHANNEL_UPDATED
User updated a channel is logged to file by the server.
@ SERVERLOGEVENT_USER_BANNED
User was banned is logged to file by the server.
@ SERVERLOGEVENT_USER_UPDATED
User's status is logged to file by the server.
@ SERVERLOGEVENT_USER_UNBANNED
User was removed from ban list is logged to file by the server.
@ SERVERLOGEVENT_CHANNEL_CREATED
User created new channel is logged to file by the server.
@ SERVERLOGEVENT_FILE_UPLOADED
User uploaded a file is logged to file by the server.
@ SERVERLOGEVENT_USER_TEXTMESSAGE_CUSTOM
User's custom text messages are logged to file by the server.
@ BANTYPE_NONE
Ban type not set.
@ BANTYPE_CHANNEL
The ban applies to the channel specified in the szChannel of BearWare.BannedUser. Otherwise the ban a...
@ BANTYPE_USERNAME
Ban szUsername specified in BearWare.BannedUser.
@ BANTYPE_IPADDR
Ban szIPAddress specified in BearWare.BannedUser.
static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID, int nSampleRate, int nChannels, bool bDuplexMode, SpeexDSP lpSpeexDSP)
Perform a record and playback test of specified sound devices along with an audio configuration and a...
bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars, AudioFileFormat uAFF)
Store user's audio to disk.
bool SetUserMediaStorageDir(int nUserID, string szFolderPath, string szFileNameVars, AudioFileFormat uAFF, int nStopRecordingExtraDelayMSec)
Store user's audio to disk.
bool Enable3DSoundPositioning(bool bEnable)
Enable automatically position users using 3D-sound.
bool ReleaseUserAudioBlock(AudioBlock lpAudioBlock)
Release the shared memory of an BearWare.AudioBlock.
bool SetSoundInputPreprocess(SpeexDSP lpSpeexDSP)
Enable sound preprocessor which should be used for processing audio recorded by the sound input devic...
bool SetUserStereo(int nUserID, StreamType nStreamType, bool bLeftSpeaker, bool bRightSpeaker)
Set whether a user should speak in the left, right or both speakers. This function only works if Bear...
bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes, AudioFormat lpAudioFormat, bool bEnable)
Same as TeamTalkBase.EnableAudioBlockEvent() but option to specify audio output format.
bool CloseSoundDuplexDevices()
Shut down sound devices running in duplex mode.
bool AutoPositionUsers()
Automatically position users using 3D-sound.
bool SetSoundOutputVolume(int nVolume)
Set master volume.
bool GetSoundDeviceEffects(ref SoundDeviceEffects lpSoundDeviceEffect)
Get the audio effects that are currently enabled.
int GetSoundInputLevel()
Get the volume level of the current recorded audio.
bool SetUserPosition(int nUserID, StreamType nStreamType, float x, float y, float z)
Set the position of a user.
bool SetUserStoppedPlaybackDelay(int nUserID, StreamType nStreamType, int nDelayMSec)
Set the delay of when a user should no longer be considered as playing audio (either voice or audio f...
const int TT_SAMPLERATES_MAX
bool SetUserAudioStreamBufferSize(int nUserID, StreamType uStreamType, int nMSec)
Change the amount of media data which can be buffered in the user's playback queue.
static bool GetSoundDevices(out SoundDevice[] lpSoundDevices)
Retrieve list of sound devices for recording and playback.
static bool GetDefaultSoundDevicesEx(SoundSystem nSndSystem, ref int lpnInputDeviceID, ref int lpnOutputDeviceID)
Get the default sound devices for the specified sound system.
bool GetUserJitterControl(int nUserID, StreamType nStreamType, ref JitterConfig lpJitterConfig)
Get the de-jitter configuration for a user.
bool GetSoundInputPreprocess(ref SpeexDSP lpSpeexDSP)
Get the sound preprocessor settings which are currently in use for recorded sound input device (voice...
AudioBlock AcquireUserAudioBlock(StreamType uStreamTypes, int nUserID)
Extract the raw audio associated with the event TeamTalkBase.OnUserAudioBlock().
bool SetSoundOutputMute(bool bMuteAll)
Set all users mute.
bool InitSoundOutputSharedDevice(int nSampleRate, int nChannels, int nFrameSize)
Setup sample rate, channels and frame size of shared sound output device.
bool InitSoundDuplexDevices(int nInputDeviceID, int nOutputDeviceID)
Enable duplex mode where multiple audio streams are mixed into a single stream using software.
bool CloseSoundOutputDevice()
Shutdown the output sound device.
bool InitSoundOutputDevice(int nOutputDeviceID)
Initialize the sound output device (for audio playback).
int GetSoundInputGainLevel()
Get voice gain level of outgoing audio.
static bool RestartSoundSystem()
Reinitialize sound system (in order to detect new/removed devices).
SoundSystem
The supported sound systems.
bool SetUserVolume(int nUserID, StreamType nStreamType, int nVolume)
Set the volume of a user.
SoundDeviceFeature
Features available on a sound device. Checkout uSoundDeviceFeatures on BearWare.SoundDevice.
int GetSoundOutputVolume()
Get master volume.
static IntPtr StartSoundLoopbackTest(int nInputDeviceID, int nOutputDeviceID, int nSampleRate, int nChannels, bool bDuplexMode, AudioPreprocessor lpAudioPreprocessor, BearWare.SoundDeviceEffects lpSoundDeviceEffects)
Perform a record and playback test of specified sound devices along with an audio configuration and a...
bool SetSoundInputPreprocess(AudioPreprocessor lpAudioPreprocessor)
Enable sound preprocessor which should be used for processing audio recorded by the sound input devic...
bool GetSoundInputPreprocess(ref AudioPreprocessor lpAudioPreprocessor)
Get the sound preprocessor settings which are currently in use for recorded sound input device (voice...
bool EnableAudioBlockEvent(int nUserID, StreamType uStreamTypes, bool bEnable)
Enable/disable access to raw audio from individual users, local microphone input or muxed stream of a...
static bool GetDefaultSoundDevices(ref int lpnInputDeviceID, ref int lpnOutputDeviceID)
Get the default sound devices.
bool SetUserJitterControl(int nUserID, StreamType nStreamType, JitterConfig lpJitterConfig)
Set the configuration for de-jitter measures for a user.
static bool CloseSoundLoopbackTest(IntPtr lpTTSoundLoop)
Stop recorder and playback test.
bool SetUserMute(int nUserID, StreamType nStreamType, bool bMute)
Mute a user.
bool InitSoundInputDevice(int nInputDeviceID)
Initialize the sound input device (for recording audio).
bool SetSoundInputGainLevel(int nLevel)
Set voice gaining of recorded audio.
bool CloseSoundInputDevice()
Shutdown the input sound device.
bool InitSoundInputSharedDevice(int nSampleRate, int nChannels, int nFrameSize)
Setup sample rate, channels and frame size of shared sound input device.
bool SetSoundDeviceEffects(SoundDeviceEffects lpSoundDeviceEffect)
Set up audio effects on a sound device.
@ SOUNDSYSTEM_WINMM
Windows legacy audio system. Should be used on Windows Mobile.
@ SOUNDSYSTEM_WASAPI
Windows Audio Session API (WASAPI). Should be used on Windows Vista/7/8/10.
@ SOUNDSYSTEM_DSOUND
DirectSound audio system. Should be used on Windows.
@ SOUNDSYSTEM_AUDIOUNIT
iOS sound API.
@ SOUNDSYSTEM_COREAUDIO
Core Audio. Should be used on MacOS.
@ SOUNDSYSTEM_AUDIOUNIT_IOS
Same as SoundSystem.SOUNDSYSTEM_AUDIOUNIT.
@ SOUNDSYSTEM_NONE
Sound system denoting invalid or not found.
@ SOUNDSYSTEM_ALSA
Advanced Linux Sound Architecture (ALSA). Should be used on Linux.
@ SOUNDSYSTEM_OPENSLES_ANDROID
Android sound API.
@ SOUNDDEVICEFEATURE_AEC
The BearWare.SoundDevice can enable Acoustic Echo Canceler (AEC). Enable AEC use property bEnableAEC ...
@ SOUNDDEVICEFEATURE_DEFAULTCOMDEVICE
The BearWare.SoundDevice is the default communication device. This feature is only supported on Sound...
@ SOUNDDEVICEFEATURE_AGC
The BearWare.SoundDevice can enable Automatic Gain Control (AGC). Enable AGC use property bEnableAGC ...
@ SOUNDDEVICEFEATURE_DUPLEXMODE
The BearWare.SoundDevice can run in duplex mode.
@ SOUNDDEVICEFEATURE_NONE
@ SOUNDDEVICEFEATURE_DENOISE
The BearWare.SoundDevice can enable denoising. Enable denoising use property bEnableDenoising on Bear...
@ SOUNDDEVICEFEATURE_3DPOSITION
The BearWare.SoundDevice can position user in 3D.
bool StartRecordingMuxedAudioFile(AudioCodec lpAudioCodec, string szAudioFileName, AudioFileFormat uAFF)
Store all audio conversations with specific BearWare.AudioCodec settings to a single file.
int GetVoiceActivationLevel()
Get voice activation level.
bool StopRecordingMuxedAudioFile(int nChannelID)
Stop recording conversations from a channel to a single file.
bool StopVideoCaptureTransmission()
Stop transmitting from video capture device.
StreamType
The types of streams which are available for transmission.
bool InsertAudioBlock(AudioBlock lpAudioBlock)
Transmit application provided raw audio in BearWare.AudioBlock-structs as StreamType....
int GetVoiceActivationStopDelay()
Get the delay of when voice active state should be disabled.
bool StopRecordingMuxedAudioFile()
Stop an active muxed audio recording.
bool StartVideoCaptureTransmission(VideoCodec lpVideoCodec)
Start transmitting from video capture device.
bool EnableVoiceTransmission(bool bEnable)
Start/stop transmitting of voice data from sound input.
bool EnableVoiceActivation(bool bEnable)
Enable voice activation.
bool StartRecordingMuxedAudioFile(int nChannelID, string szAudioFileName, AudioFileFormat uAFF)
Store audio conversations from a specific channel into a single file.
bool SetVoiceActivationStopDelay(int nDelayMSec)
Set the delay of when voice activation should be stopped.
bool StartRecordingMuxedStreams(StreamType uStreamTypes, AudioCodec lpAudioCodec, string szAudioFileName, AudioFileFormat uAFF)
Mix multiple BearWare.StreamType into a single audio file.
bool SetVoiceActivationLevel(int nLevel)
Set voice activation level.
@ STREAMTYPE_LOCALMEDIAPLAYBACK_AUDIO
Stream type for audio of local playback.
@ STREAMTYPE_NONE
No stream.
@ STREAMTYPE_DESKTOP
Desktop window stream type which is a window (or bitmap) being transmitted.
@ STREAMTYPE_CLASSROOM_ALL
Shortcut to allow voice, media files, desktop, webcamera and channel messages.
@ STREAMTYPE_DESKTOPINPUT
Desktop input stream type which is keyboard or mouse input being transmitted.
@ STREAMTYPE_VOICE
Voice stream type which is audio recorded from a sound input device.
@ STREAMTYPE_VIDEOCAPTURE
Video capture stream type which is video recorded from a webcam.
@ STREAMTYPE_CHANNELMSG
Channel text messages as stream type.
@ STREAMTYPE_MEDIAFILE
Shortcut to allow both audio and video media files.
@ STREAMTYPE_MEDIAFILE_AUDIO
Audio stream type from a media file which is being streamed.
@ STREAMTYPE_MEDIAFILE_VIDEO
Video stream type from a media file which is being streamed.
const int TT_CHANNELS_OPERATOR_MAX
bool GetUserStatistics(int nUserID, ref UserStatistics lpUserStatistics)
Get statistics for data and packet reception from a user.
BearWare.UserRight GetMyUserRights()
Convenience method for TeamTalkBase.GetMyUserAccount()
UserType
The types of users supported.
int GetMyUserID()
Get the local client instance's user ID.
bool GetMyUserAccount(ref UserAccount lpUserAccount)
Get the local client instance's BearWare.UserAccount.
int UserID
Same as GetMyUserID().
int UserData
Same as GetMyUserData().
UserType GetMyUserType()
Get the client instance's user type.
bool GetUser(int nUserID, ref User lpUser)
Get the user with the specified ID.
bool GetUserByUsername(string szUsername, ref User lpUser)
Get the user with the specified username.
Subscription
A user by default accepts audio, video and text messages from all users. Using subscribtions can,...
UserState
The possible states for a user. Used for BearWare.User's uUserState variable.
BearWare.UserRight UserRights
Same as GetMyUserRights().
int GetMyUserData()
If an account was used in TeamTalkBase.DoLogin() then this value will return the nUserData from the B...
TextMsgType
Text message types.
@ USERTYPE_NONE
Used internally to denote an unauthenticated user.
@ USERTYPE_DEFAULT
A default user who can join channels.
@ USERTYPE_ADMIN
A user with administrator privileges.
@ SUBSCRIBE_INTERCEPT_CUSTOM_MSG
Intercept all custom text messages sent by user. Only user-type UserType.USERTYPE_ADMIN can do this.
@ SUBSCRIBE_VOICE
Subscribing to StreamType.STREAMTYPE_VOICE.
@ SUBSCRIBE_DESKTOPINPUT
Subscribing to StreamType.STREAMTYPE_DESKTOPINPUT.
@ SUBSCRIBE_VIDEOCAPTURE
Subscribing to StreamType.STREAMTYPE_VIDEOCAPTURE.
@ SUBSCRIBE_MEDIAFILE
Subscribing to StreamType.STREAMTYPE_MEDIAFILE_VIDEO and StreamType.STREAMTYPE_MEDIAFILE_AUDIO.
@ SUBSCRIBE_INTERCEPT_MEDIAFILE
Intercept all media file data sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this....
@ SUBSCRIBE_BROADCAST_MSG
Subscribing to broadcast text messsages.
@ SUBSCRIBE_INTERCEPT_CHANNEL_MSG
Intercept all channel messages sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this.
@ SUBSCRIBE_DESKTOP
Subscribing to StreamType.STREAMTYPE_DESKTOP.
@ SUBSCRIBE_INTERCEPT_VIDEOCAPTURE
Intercept all video sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this....
@ SUBSCRIBE_INTERCEPT_USER_MSG
Intercept all user text messages sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this.
@ SUBSCRIBE_CUSTOM_MSG
Subscribing to custom user messages.
@ SUBSCRIBE_INTERCEPT_DESKTOP
Intercept all desktop data sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this....
@ SUBSCRIBE_CHANNEL_MSG
Subscribing to channel texxt messages.
@ SUBSCRIBE_USER_MSG
Subscribing to user text messages.
@ SUBSCRIBE_NONE
No subscriptions.
@ SUBSCRIBE_INTERCEPT_VOICE
Intercept all voice sent by a user. Only user-type UserType.USERTYPE_ADMIN can do this....
@ USERSTATE_MUTE_MEDIAFILE
If set the user's media file playback is muted.
@ USERSTATE_MEDIAFILE_AUDIO
If set the user currently streams an audio file. If user is streaming a video file with audio then th...
@ USERSTATE_VIDEOCAPTURE
If set the user currently has an active video stream. If this flag changes the event ClientEvent....
@ USERSTATE_MUTE_VOICE
If set the user's voice is muted.
@ USERSTATE_VOICE
If set the user is currently talking. If this flag changes the event ClientEvent.CLIENTEVENT_USER_STA...
@ USERSTATE_DESKTOP
If set the user currently has an active desktop session. If this flag changes the event ClientEvent....
@ USERSTATE_MEDIAFILE
If set user is streaming a media file. If this flag changes the event ClientEvent....
@ USERSTATE_MEDIAFILE_VIDEO
If set the user currently streams a video file. If this flag changes the event ClientEvent....
@ USERSTATE_NONE
The user is in initial state.
@ MSGTYPE_CUSTOM
A custom user to user text message. Works the same way as TextMsgType TextMsgType....
@ MSGTYPE_USER
A User to user text message. A message of this type can be sent across channels.
@ MSGTYPE_BROADCAST
A broadcast message. Requires UserRight.USERRIGHT_TEXTMESSAGE_BROADCAST.
@ MSGTYPE_CHANNEL
A User to channel text message. Users of type UserType.USERTYPE_DEFAULT can only send this text messa...
bool PaintVideoFrame(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight, ref VideoFrame lpVideoFrame)
Paint user's video frame using a Windows' DC (device context).
bool InitVideoCaptureDevice(string szDeviceID, VideoFormat lpVideoFormat)
Initialize a video capture device.
bool ReleaseUserVideoCaptureFrame(VideoFrame lpVideoFrame)
Delete a user's video frame, acquired through TeamTalkBase.AcquireUserVideoCaptureFrame(),...
bool PaintVideoFrameEx(int nUserID, System.IntPtr hDC, int XDest, int YDest, int nDestWidth, int nDestHeight, int XSrc, int YSrc, int nSrcWidth, int nSrcHeight, ref VideoFrame lpVideoFrame)
Paint user's video frame using a Windows' DC (device context).
VideoFrame AcquireUserVideoCaptureFrame(int nUserID, out Bitmap bmp)
Extract a user's video frame for display.
static bool GetVideoCaptureDevices(out VideoCaptureDevice[] lpVideoDevices)
Get the list of devices available for video capture.
bool CloseVideoCaptureDevice()
Close a video capture device.
FourCC
The picture format used by a capture device.
const int TT_VIDEOFORMATS_MAX
@ FOURCC_YUY2
Image format where a 640x480 pixel images takes up 614.400 bytes.
@ FOURCC_NONE
Internal use to denote no supported formats.
@ FOURCC_I420
Prefered image format with the lowest bandwidth usage. A 640x480 pixel image takes up 460....
@ FOURCC_RGB32
The image format with the highest bandwidth usage. A 640x480 pixel images takes up 1....
Properties to prevent server abuse.
int nCommandsLimit
Limit number of commands a user can send to the server.
int nCommandsIntervalMSec
Commands within given interval.
An audio block containing the raw audio from a user who was talking.
int nSamples
The number of samples in the raw audio array.
StreamType uStreamTypes
The stream types used to generate the AudioBlock's raw audio.
int nSampleRate
The sample rate of the raw audio.
uint uSampleIndex
The index of the first sample in lpRawAudio. Its value will be a multiple of nSamples....
int nStreamID
The ID of the stream. The stream id changes every time the user enables a new transmission using Team...
int nChannels
The number of channels used (1 for mono, 2 for stereo).
System.IntPtr lpRawAudio
The raw audio in 16-bit integer format array. The size of the array in bytes is sizeof(short) * nSamp...
Struct used for specifying which audio codec a channel uses.
SpeexVBRCodec speex_vbr
Speex codec settings if nCodec is Codec.SPEEX_VBR_CODEC.
SpeexCodec speex
Speex codec settings if nCodec is Codec.SPEEX_CODEC.
Codec nCodec
Specifies whether the member speex, speex_vbr or opus holds the codec settings.
OpusCodec opus
Opus codec settings if nCodec is OPUS_CODEC.
const int DEFAULT_AGC_INC_MAXDB
const int DEFAULT_AGC_GAINLEVEL
Audio configuration for clients in a channel.
AudioConfig(bool set_defaults)
int nGainLevel
Reference gain level to be used by all users.
bool bEnableAGC
Users should enable automatic gain control.
Configure the audio preprocessor specified by nPreprocessor.
WebRTCAudioPreprocessor webrtc
Used when nPreprocessor is AudioPreprocessorType.WEBRTC_AUDIOPREPROCESSOR.
SpeexDSP speexdsp
Used when nPreprocessor is AudioPreprocessorType.SPEEXDSP_AUDIOPREPROCESSOR.
AudioPreprocessorType nPreprocessor
The audio preprocessor to use in the union of audio preprocessors.
TTAudioPreprocessor ttpreprocessor
Used when nPreprocessor is AudioPreprocessorType.TEAMTALK_AUDIOPREPROCESSOR.
A struct containing the properties of a banned user.
string szIPAddress
IP-address of banned user.
string szNickname
Nickname of banned user. Read-only property.
string szChannelPath
Channel where user was located when banned.
string szUsername
Username of banned user.
BanType uBanTypes
The type of ban that applies to this banned user.
string szBanTime
Date and time when user was banned. Read-only property.
A struct containing the properties of a channel.
int nTransmitUsersQueueDelayMSec
Delay for switching to next active voice user in transmitUsersQueue.
int[] transmitUsersQueue
The users currently queued for voice or media file transmission.
void AddTransmitUser(int nUserID, StreamType uStreamType)
Helper function for adding a user and BearWare.StreamType to transmitUsers.
int GetTransmitUserCount()
Get the number of users who can currently transmit to the ChannelType.CHANNEL_CLASSROOM.
AudioConfig audiocfg
The audio configuration which users who join the channel should use.
void RemoveTransmitUser(int nUserID, StreamType uStreamType)
Helper function for removing a StreamType for a user in transmitUsers.
bool bPassword
Whether password is required to join channel. Read-only property.
string szPassword
Password to join the channel. When extracted through TeamTalkBase.GetChannel() the password will only...
long nDiskQuota
Number of bytes available for file storage.
int[] transmitUsers
List of users who can transmit in a channel.
StreamType GetTransmitStreamTypes(int nUserID)
Helper function for getting the StreamType a user can transmit by querying transmitUsers.
string szTopic
Topic of the channel.
AudioCodec audiocodec
The audio codec used by users in the channel.
int nUserData
User specific data which will be stored on persistent storage on the server if the channel type is Ch...
string szOpPassword
Password to become channel operator.
int nParentID
Parent channel ID. 0 means no parent channel, i.e. it's the root channel.
int nChannelID
The channel's ID. A value from 1 - BearWare.TeamTalkBase.TT_CHANNELID_MAX.
ChannelType uChannelType
A bitmask of the type of channel based on BearWare.ChannelType.
int nMaxUsers
Max number of users in channel.
string szName
Name of the channel.
string szErrorMsg
Text message describing the error.
int nErrorNo
Error number based on ClientError.
Control timers for sending keep alive information to the server.
int nUdpConnectTimeoutMSec
The duration before the client instance should give up trying to connect to the server on UDP....
int nUdpKeepAliveRTXMSec
Client instance's interval for retransmitting UDP keep alive packets. If server hasn't responded to U...
int nUdpConnectRTXMSec
Client instance's interval for retransmitting UDP connect packets. UDP connect packets are only sent ...
int nTcpKeepAliveIntervalMSec
Client instance's interval between TeamTalkBase.DoPing() command. Read-only value....
int nUdpKeepAliveIntervalMSec
Client instance's interval between sending UDP keep alive packets. The UDP keep alive packets are use...
int nConnectionLostMSec
The duration before the TeamTalk instance should consider the client/server connection lost.
Statistics of bandwidth usage and ping times in the local client instance.
long nVoiceBytesRecv
Voice data received (on UDP).
int nSoundInputDeviceDelayMSec
Delay of sound input device until the first audio frame is delivered (in msec).
long nVideoCaptureBytesRecv
Video data received (on UDP).
int nTcpPingTimeMs
Response time to server on TCP (based on ping/pong sent at a specified interval. Set to -1 if not cur...
int nUdpServerSilenceSec
The number of seconds nothing has been received by the client on UDP.
long nMediaFileVideoBytesSent
Video from media file data sent (on UDP).
long nMediaFileVideoBytesRecv
Video from media file data received (on UDP).
long nMediaFileAudioBytesSent
Audio from media file data sent (on UDP).
long nVoiceBytesSent
Voice data sent (on UDP).
long nUdpBytesSent
Bytes sent on UDP.
long nMediaFileAudioBytesRecv
Audio from media file data received (on UDP).
long nVideoCaptureBytesSent
Video data sent (on UDP).
int nTcpServerSilenceSec
The number of seconds nothing has been received by the client on TCP.
long nUdpBytesRecv
Bytes received on UDP.
long nDesktopBytesSent
Desktop data sent (on UDP).
long nDesktopBytesRecv
Desktop data received (on UDP).
int nUdpPingTimeMs
Response time to server on UDP (based on ping/pong sent at a specified interval. Set to -1 if not cur...
A struct containing the properties of a shared desktop window.
int nSessionID
The ID of the session which the bitmap belongs to. If the session ID changes it means the user has st...
int nWidth
The width in pixels of the bitmap.
DesktopProtocol nProtocol
The desktop protocol used for transmitting the desktop window.
int nBytesPerLine
The number of bytes for each scan-line in the bitmap. Zero means 4-byte aligned.
IntPtr frameBuffer
A buffer pointing to the bitmap data (often refered to as Scan0).
int nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer. Typically nBytesPerLine * nHeight.
BitmapFormat bmpFormat
The format of the bitmap.
int nHeight
The height in pixels of the bitmap.
Configure peer verification for encrypted connection.
string szCAFile
Path to Certificate Authority (CA) Certificate in PEM format.
bool bVerifyClientOnce
Whether to only verify client's certificate once during initial connection.
int nVerifyDepth
Set limit to depth in the certificate chain during the verification procedure.
string szCertificateFile
Path to SSL certificate in PEM format.
string szPrivateKeyFile
Path to certificate's private key.
bool bVerifyPeer
Verify that peer (client or server) uses a certificate that has been generated by the Certificate Aut...
string szCADir
Path to directory containing Certificate Authority (CA) Certificates in PEM format.
A struct containing the properties of a file transfer.
bool bInbound
TRUE if download and FALSE if upload.
FileTransferStatus nStatus
Status of file transfer.
string szRemoteFileName
The filename in the channel.
string szLocalFilePath
The file path on local disk.
long nTransferred
The number of bytes transferred so far.
long nFileSize
The size of the file being transferred.
int nTransferID
The ID identifying the file transfer.
int nChannelID
The channel where the file is/will be located.
Configuration parameters for the Jitter Buffer.
int nMaxAdaptiveDelayMSec
A hard maximum delay on the adaptive delay. Only valid when higher than zero. Default = 0.
int nActiveAdaptiveDelayMSec
The current adaptive delay. When used with TeamTalkBase.SetUserJitterControl(), this value is used as...
bool bUseAdativeDejitter
Turns adaptive jitter buffering ON/OFF. Default is OFF.
int nFixedDelayMSec
The fixed delay in milliseconds. Default = 0.
OPUS audio codec settings. For detailed information about the OPUS codec check out http://www....
int nFrameSizeMSec
OPUS supports 2.5, 5, 10, 20, 40, 60, 80, 100 and 120 msec. If nFrameSizeMSec is 0 then nFrameSizeMSe...
bool bFEC
Forward error correction. Corrects errors if there's packetloss.
bool bVBR
Enable variable bitrate.
int nComplexity
Complexity of encoding (affects CPU usage). Value from 0-10.
bool bDTX
Discontinuous transmission. Enables "null" packets during silence.
int nSampleRate
The sample rate to use. Sample rate must be 8000, 12000, 16000, 24000 or 48000 Hz.
int nApplication
Application of encoded audio, VoIP or music.
bool bVBRConstraint
Enable constrained VBR. bVBR must be enabled to enable this.
int nTxIntervalMSec
Duration of audio before each transmission. Minimum is 2 msec. Recommended is 40 msec....
int nBitRate
Bitrate for encoded audio. Should be between BearWare.OpusConstants.OPUS_MIN_BITRATE and BearWare....
int nChannels
Mono = 1 or stereo = 2.
OPUS constants for BearWare.OpusCodec.
const bool DEFAULT_OPUS_FEC
const int DEFAULT_OPUS_COMPLEXITY
const bool DEFAULT_OPUS_VBR
const bool DEFAULT_OPUS_VBRCONSTRAINT
const int DEFAULT_OPUS_APPLICATION
const int OPUS_MIN_FRAMESIZE
The minimum frame size for OPUS codec. Checkout nFrameSizeMSec of BearWare.OpusCodec.
const int DEFAULT_OPUS_CHANNELS
const bool DEFAULT_OPUS_DTX
const int OPUS_MAX_BITRATE
The maximum bitrate for OPUS codec. Checkout nBitRate of BearWare.OpusCodec.
const int DEFAULT_OPUS_DELAY
const int OPUS_REALMAX_FRAMESIZE
The real maximum frame size for OPUS codec. Checkout nFrameSizeMSec of BearWare.OpusCodec....
const int OPUS_MAX_FRAMESIZE
The maximum frame size for OPUS codec. Checkout nFrameSizeMSec of BearWare.OpusCodec.
const int DEFAULT_OPUS_SAMPLERATE
const int OPUS_APPLICATION_AUDIO
Audio encoding is for music. This value should be set as nApplicaton in BearWare.OpusCodec.
const int OPUS_MIN_BITRATE
The minimum bitrate for OPUS codec. Checkout nBitRate of BearWare.OpusCodec.
const int DEFAULT_OPUS_BITRATE
const int OPUS_APPLICATION_VOIP
Audio encoding is for VoIP. This value should be set as nApplicaton in BearWare.OpusCodec.
A struct containing the properties of a file in a BearWare.Channel.
int nChannelID
The ID of the channel where the file is located.
long nFileSize
The size of the file.
string szUploadTime
Time when file was uploaded. Date/time is converted local time.
string szFileName
The name of the file.
int nFileID
The ID identifying the file.
string szUsername
Username of the person who uploaded the files.
A struct containing the properties of the server's settings.
int nMaxMediaFileTxPerSecond
The maximum number of bytes per second which the server will allow for media file packets....
int nUserTimeout
The number of seconds before a user who hasn't responded to keepalives will be kicked off the server.
bool bAutoSave
Whether the server automatically saves changes.
string szServerProtocolVersion
The version of the server's protocol.
int nMaxLoginsPerIPAddress
The maximum number of users allowed to log in with the same IP-address. 0 means disabled.
ServerLogEvent uServerLogEvents
The events that are logged on the server.
string szAccessToken
A randomly generated 256 bit access token created by the server to identify the login session....
int nMaxDesktopTxPerSecond
The maximum number of bytes per second which the server will allow for desktop packets....
int nUdpPort
The server's UDP port.
int nLoginDelayMSec
Number of msec before an IP-address can make another login attempt. If less than this amount then Tea...
int nMaxTotalTxPerSecond
The amount of bytes per second which the server will allow for packet forwarding. If this value is ex...
string szServerName
The server's name.
int nMaxLoginAttempts
The maximum number of logins with wrong password before banning user's IP-address.
string szMOTD
The message of the day. Read-only property. Use szMOTDRaw to update this property.
string szMOTDRaw
The message of the day including variables. The result of the szMOTDRaw string will be displayed in s...
int nMaxUsers
The maximum number of users allowed on the server. A user with admin account can ignore this.
int nTcpPort
The server's TCP port.
string szServerVersion
The server version.
int nMaxVoiceTxPerSecond
The maximum number of bytes per second which the server will allow for voice packets....
int nMaxVideoCaptureTxPerSecond
The maximum number of bytes per second which the server will allow for video input packets....
A struct containing the server's statistics, i.e. bandwidth usage and user activity.
long nMediaFileBytesTX
The number of bytes in media file packets sent from the server to clients.
long nVideoCaptureBytesTX
The number of bytes in video packets sent from the server to clients.
long nFilesRx
The number of bytes for file transmission received by the server.
long nDesktopBytesTX
The number of bytes in desktop packets sent from the server to clients.
long nFilesTx
The number of bytes for file transmission transmitted from the server.
long nUptimeMSec
The server's uptime in msec.
long nVoiceBytesRX
The number of bytes in audio packets received by the server from clients.
int nUsersServed
The number of users who have logged on to the server.
long nTotalBytesRX
The number of bytes received by the server from clients.
long nTotalBytesTX
The number of bytes sent from the server to clients.
long nVideoCaptureBytesRX
The number of bytes in video packets received by the server from clients.
long nDesktopBytesRX
The number of bytes in desktop packets received by the server from clients.
long nVoiceBytesTX
The number of bytes in audio packets sent from the server to clients.
long nMediaFileBytesRX
The number of bytes in media file packets received by the server from clients.
int nUsersPeak
The highest numbers of users online.
A struct which describes the properties of a window which can be shared.
IntPtr hWnd
The Windows handle of the window.
string szWindowTitle
The title of the window.
int nWndX
X coordinate of the window relative to the Windows desktop.
int nHeight
The height in pixels of the window.
int nWndY
Y coordinate of the window relative to the Windows desktop.
int nWidth
The width in pixels of the window.
const int TT_SOUNDDEVICE_ID_OPENSLES_VOICECOM
Sound device ID for Android OpenSL ES voice communication mode. This device uses the OpenSL ES' Andro...
const int TT_SOUNDDEVICE_ID_OPENSLES_DEFAULT
Sound device ID for Android OpenSL ES default audio device. Note that this sound device may also exis...
const int TT_SOUNDDEVICE_ID_TEAMTALK_VIRTUAL
Sound device ID for virtual TeamTalk sound device.
const uint TT_SOUNDDEVICE_ID_MASK
Extract sound device ID of nDeviceID in BearWare.SoundDevice by and'ing this value.
const int TT_SOUNDDEVICE_ID_VOICEPREPROCESSINGIO
Sound device ID for iOS AudioUnit subtype Voice-Processing I/O Unit. This sound device ID include the...
const uint TT_SOUNDDEVICE_ID_SHARED_FLAG
Flag/bit in nDeviceID telling if the BearWare.SoundDevice is a shared version of an existing sound de...
const int TT_SOUNDDEVICE_ID_REMOTEIO
Sound device ID for iOS AudioUnit subtype Remote I/O Unit.
Set up audio effects supported by the sound device.
bool bEnableEchoCancellation
Enable echo cancellation.
bool bEnableAGC
Enable Automatic Gain Control.
bool bEnableDenoise
Enable noise suppression.
A struct containing the properties of a sound device for either playback or recording.
int nWaveDeviceID
A Windows specific ID to the sound device.
string szDeviceID
An identifier uniquely identifying the sound device even when new sound devices are being added and r...
bool bSupports3D
Whether the sound device supports 3D-sound effects.
SoundDeviceFeature uSoundDeviceFeatures
Additional features available for this sound device. The sound device features can be used to enable ...
int[] inputSampleRates
Supported sample rates by device for recording. A zero value terminates the list of supported sample ...
int nDefaultSampleRate
The default sample rate for the sound device.
int nMaxInputChannels
The maximum number of input channels.
SoundSystem nSoundSystem
The sound system used by the sound device.
int nDeviceID
The ID of the sound device. Used for passing to TeamTalkBase.InitSoundInputDevice() and TeamTalkBase....
string szDeviceName
The name of the sound device.
int[] outputSampleRates
Supported sample rates by device for playback. A zero value terminates the list of supported sample r...
int nMaxOutputChannels
The maximum number of output channels.
An enum encapsulation the minimum, maximum and default sound levels for input and output sound device...
const int SOUND_VU_MAX
The maximum value of recorded audio.
const int SOUND_VOLUME_MAX
The maximum volume.
const int SOUND_GAIN_MIN
The minimum gain level (since it's zero it means silence).
const int SOUND_VOLUME_MIN
The minimum volume.
const int SOUND_VU_MIN
The minimum value of recorded audio.
const int SOUND_GAIN_DEFAULT
The default gain level.
const int SOUND_GAIN_MAX
The maximum gain level.
const int SOUND_VOLUME_DEFAULT
The default volume. Use this whenever possible since it requires the least amount of CPU usage.
Speex audio codec settings for Constant Bitrate mode (CBR).
int nQuality
A value from 1-10. As of DLL version 4.2 also 0 is supported.
int nTxIntervalMSec
Milliseconds of audio data before each transmission.
int nBandmode
Set to 0 for 8 KHz (narrow band), set to 1 for 16 KHz (wide band), set to 2 for 32 KHz (ultra-wide ba...
bool bStereoPlayback
Playback should be done in stereo. Doing so will disable 3d-positioning.
Speex constants for BearWare.SpeexCodec and BearWare.SpeexVBRCodec.
const int SPEEX_BANDMODE_UWIDE
Use BearWare.SpeexCodec or BearWare.SpeexVBRCodec as 32 KHz.
const bool DEFAULT_SPEEX_DTX
Default Speex DTX for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
const int SPEEX_NB_MAX_BITRATE
The maximum bitrate for Speex codec in 8 KHz mode, i.e. quality set to 10.
const int SPEEX_QUALITY_MAX
The maximum quality for Speex codec.
const int SPEEX_QUALITY_MIN
The minimum quality for Speex codec.
const int SPEEX_WB_MAX_BITRATE
The maximum bitrate for Speex codec in 16 KHz mode, i.e. quality set to 10.
const int SPEEX_WB_MIN_BITRATE
The minimum bitrate for Speex codec in 16 KHz mode, i.e. quality set to 0.
const int DEFAULT_SPEEX_DELAY
Default Speex delay for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
const int SPEEX_BANDMODE_NARROW
Use BearWare.SpeexCodec or BearWare.SpeexVBRCodec as 8 KHz.
const int SPEEX_UWB_MIN_BITRATE
The minimum bitrate for Speex codec in 32 KHz mode, i.e. quality set to 0.
const int DEFAULT_SPEEX_BITRATE
Default Speex bitrate for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
const int SPEEX_BANDMODE_WIDE
Use BearWare.SpeexCodec or BearWare.SpeexVBRCodec as 16 KHz.
const int SPEEX_UWB_MAX_BITRATE
The maximum bitrate for Speex codec in 32 KHz mode, i.e. quality set to 10.
const int DEFAULT_SPEEX_MAXBITRATE
Default Speex max bitrate for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
const int DEFAULT_SPEEX_BANDMODE
Default Speex bandmode for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
const bool DEFAULT_SPEEX_SIMSTEREO
Default Speex stereo playback for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
const int DEFAULT_SPEEX_QUALITY
Default Speex quality for BearWare.SpeexCodec or BearWare.SpeexVBRCodec.
const int SPEEX_NB_MIN_BITRATE
The minimum bitrate for Speex codec in 8 KHz mode, i.e. quality set to 0.
Default values for BearWare.SpeexDSP.
const int DEFAULT_DENOISE_SUPPRESS
const int DEFAULT_ECHO_SUPPRESS_ACTIVE
const bool DEFAULT_AGC_ENABLE
const int DEFAULT_ECHO_SUPPRESS
const int DEFAULT_AGC_DEC_MAXDB
const bool DEFAULT_ECHO_ENABLE
const bool DEFAULT_DENOISE_ENABLE
const int DEFAULT_AGC_INC_MAXDB
const int DEFAULT_AGC_GAINMAXDB
const int DEFAULT_AGC_GAINLEVEL
Audio configuration specifying how recorded audio from sound input device should be preprocessed befo...
SpeexDSP(bool set_defaults)
int nMaxDecDBSec
Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second)....
bool bEnableDenoise
Whether clients who join the channel should automatically enable denoising.
bool bEnableAGC
Whether clients who join a BearWare.Channel should enable AGC with the settings specified nGainLevel,...
int nMaxIncDBSec
Used so volume should not be amplified too quickly (maximal gain increase in dB/second)....
int nGainLevel
A value from 0 to 32768. Default is 8000. Value is ignored if bEnableAGC is FALSE.
int nEchoSuppressActive
Set maximum attenuation of the residual echo in dB when near end is active (negative number)....
int nEchoSuppress
Set maximum attenuation of the residual echo in dB (negative number). Default is -40....
int nMaxGainDB
Ensure volume doesn't become too loud (maximal gain in dB). Default is 30. Value is ignored if bEnabl...
bool bEnableEchoCancellation
Speex DSP is used for specifying how recorded audio from a sound input device should be preprocessed ...
int nMaxNoiseSuppressDB
Maximum attenuation of the noise in dB. Negative value! Default value is -30. Value is ignored if bEn...
Speex audio codec settings for Variable Bitrate mode (VBR).
int nTxIntervalMSec
Milliseconds of audio data before each transmission.
int nMaxBitRate
The maximum bitrate at which the audio codec is allowed to output audio. Set to zero if it should be ...
bool bDTX
Enable/disable discontinuous transmission. When enabled Speex will ignore silence,...
int nQuality
A value from 0-10. If nBitRate is non-zero it will override this value.
int nBandmode
Set to 0 for 8 KHz (narrow band), set to 1 for 16 KHz (wide band), set to 2 for 32 KHz (ultra-wide ba...
int nBitRate
The bitrate at which the audio codec should output encoded audio data. Dividing it by 8 gives roughly...
bool bStereoPlayback
Playback should be done in stereo. Doing so will disable 3d-positioning.
Use TeamTalk's internal audio preprocessor for gain audio. Same as used for TeamTalkBase....
bool bMuteLeftSpeaker
Whether to mute left speaker in stereo playback.
bool bMuteRightSpeaker
Whether to mute right speaker in stereo playback.
int nGainLevel
Gain level between BearWare.SoundLevel.SOUND_GAIN_MIN and BearWare.SoundLevel.SOUND_GAIN_MAX....
A struct containing the properties of an event.
uint uReserved
Reserved. To preserve alignment.
int nSource
The source of the event depends on wmMsg.
ClientEvent nClientEvent
The event's message number.
TTType ttType
Specifies which member to access in the union.
A struct containing the properties of a text message sent by a user.
bool bMore
Whether this text message is to be merged with next text message.
int nChannelID
Set to zero if nMsgType is TextMsgType TextMsgType.MSGTYPE_USER or TextMsgType TextMsgType....
int nToUserID
Set to zero if channel message.
string szMessage
The actual text message. The message can be multi-line (include EOL)
int nFromUserID
Will be set automatically on outgoing message.
string szFromUsername
The originators username.
TextMsgType nMsgType
The type of text message.
FileTransfer filetransfer
ClientErrorMsg clienterrormsg
DesktopInput desktopinput
ServerProperties serverproperties
MediaFileInfo mediafileinfo
A struct containing the properties of a user account.
string szNote
Additional notes about this user.
int nUserData
A user data field which can be used for additional information. The nUserData field of the BearWare....
string szInitChannel
User should (manually) join this channel after login. If an initial channel is specified in the user'...
UserType uUserType
A bitmask of the type of user based on UserType.
string szPassword
The account's password.
UserRight uUserRights
A bitmask based on UserRight which specifies the rights the user have who logs onto the server....
string szLastModified
Timestamp of last modification of user account. Date/time is converted local time.
int[] autoOperatorChannels
Channels where this user will automatically become channel operator when joining. The channels must b...
AbusePrevention abusePrevent
Properties which can be set to prevent abuse of a server, e.g. limit number of commands issued.
string szUsername
The account's username.
int nAudioCodecBpsLimit
Bandwidth restriction for audio codecs created by this user. This value will hold the highest bitrate...
A struct containing the properties of a user.
int nVolumeVoice
The user's voice volume level. Note that it's a virtual volume which is being set since the master vo...
int nStoppedDelayMediaFile
The delay of when a user should no longer be considered playing audio of a media file.
int nChannelID
The channel which the user is currently participating in. 0 if none. This value can change as a resul...
string szStatusMsg
The user's current status message. Invoke TeamTalkBase.DoChangeStatus() to change this value....
int nActiveAdaptiveDelayMSec
The currently active adaptive jitter delay for received voice streams for this user.
string szUsername
The szUsername of the user's BearWare.UserAccount. A user account is created by calling TeamTalkBase....
int nStoppedDelayVoice
The delay of when a user should no longer be considered as talking.
int nVolumeMediaFile
The user's voice volume level. Note that it's a virtual volume which is being set since the master vo...
bool[] stereoPlaybackMediaFile
Check what speaker a user is outputting to. If index 0 is TRUE then left speaker is playing....
Subscription uPeerSubscriptions
A bitmask of what this user subscribes to from local client instance. Invoking TeamTalkBase....
string szIPAddress
The user's IP-address. This value is set by the server.
int nUserID
The user's ID. A value from 1 - BearWare.TeamTalkBase.TT_USERID_MAX. This property is set by the serv...
string szMediaStorageDir
Store audio received from this user to this folder.
uint uVersion
The user's client version. This property is set by the server and will not change after login....
string szClientName
The name of the client application which the user is using. This is the value passed as szClientName ...
int nBufferMSecVoice
The size of the buffer (in msec) to hold voice content.
float[] soundPositionVoice
User's position when using 3D-sound (DirectSound option). Index 0 is x-axis, index 1 is y-axis and in...
UserState uUserState
A bitmask of the user's current state, e.g. talking, muted, etc.
UserType uUserType
The uUserType of the user's BearWare.UserAccount. This property is set by the server and will not cha...
int nStatusMode
The user's current status mode. Invoke TeamTalkBase.DoChangeStatus() to change this value....
string szNickname
The user's nickname. Invoking TeamTalkBase.DoChangeNickname() changes this value. Event ClientEvent....
float[] soundPositionMediaFile
User's position when using 3D-sound (DirectSound option). Index 0 is x-axis, index 1 is y-axis and in...
bool[] stereoPlaybackVoice
Check what speaker a user is outputting to. If index 0 is TRUE then left speaker is playing....
int nUserData
The nUserData of the user's BearWare.UserAccount. This field can be use to denote e....
Subscription uLocalSubscriptions
A bitmask of what the local user subscribes to from this user. Invoking TeamTalkBase....
int nBufferMSecMediaFile
The size of the buffer (in msec) to hold media file content.
Packet reception and data statistics for a user.
long nMediaFileVideoPacketsRecv
Number of media file video packets received from user. A video frame can consist of several video pac...
long nVoicePacketsLost
Number of voice packets lost from user.
long nMediaFileAudioPacketsLost
Number of media file audio packets lost from user.
long nVideoCaptureFramesLost
Video frames which couldn't be shown because packets were lost.
long nMediaFileVideoFramesLost
Media file video frames which couldn't be shown because packets were lost.
long nMediaFileVideoFramesDropped
Number of media file video frames dropped because user application didn't retrieve video frames in ti...
long nVideoCaptureFramesDropped
Number of video frames dropped because user application didn't retrieve video frames in time.
long nVideoCaptureFramesRecv
Number of video frames received from user.
long nMediaFileVideoFramesRecv
Number of media file video frames received from user.
long nVoicePacketsRecv
Number of voice packets received from user.
long nMediaFileAudioPacketsRecv
Number of media file audio packets received from user.
long nVideoCapturePacketsRecv
Number of video packets received from user. A video frame can consist of several video packets.
A struct containing the properties of a video capture device.
string szCaptureAPI
The name of the API used to capture video.
int nVideoFormatsCount
The number of capture formats available in captureFormats array.
VideoFormat[] videoFormats
The supported capture formats.
string szDeviceID
A string identifying the device.
string szDeviceName
The name of the capture device.
Struct used for specifying the video codec to use.
Codec nCodec
Specifies member holds the codec settings. So far there is only one video codec to choose from,...
A RGB32 image where the pixels can be accessed directly in an allocated imageBuffer.
bool bKeyFrame
Whether the image acquired is a key-frame. If it is not a key-frame and there has been packet loss or...
int nFrameBufferSize
The size in bytes of the buffer allocate in frameBuffer.
int nHeight
The height in pixels of the image contained in imageBuffer.
int nStreamID
A unique identifier for the frames which are part of the same video sequence. If the stream ID change...
System.IntPtr frameBuffer
A buffer allocated internally by TeamTalkBase.
int nWidth
The width in pixels of the image contained in frameBuffer.
const int WEBM_VPX_DL_BEST_QUALITY
nEncodeDeadline value for best encoding.
const int WEBM_VPX_DL_REALTIME
nEncodeDeadline value for fastest encoding.
const int WEBM_VPX_DL_GOOD_QUALITY
nEncodeDeadline value for good encoding.
WebM video codec settings.
int nRcTargetBitrate
Same as rc_target_bitrate.
uint nEncodeDeadline
Time that should be spent on encoding a frame.
int rc_target_bitrate
Target bitrate in kbits/sec. This value must be greater than 0.
Configuration of WebRTC's echo canceller. See also TT_SetSoundDeviceEffects()
bool bEnable
Enable WebRTC echo canceller. The WebRTC echo canceller requires sound input and output devices are i...
Configuration for fine tuning gain level.
float fInitialSaturationMarginDB
float fMaxOutputNoiseLevelDBFS
float fMaxGainChangeDBPerSecond
float fExtraSaturationMarginDB
Gain level for AGC. Only active when bEnable is true.
float fGainDB
Gain level in dB. Range: 0 <= x < 50. Default: 0.
Configuration of WebRTC's gain controller 2 for AGC.
AdaptiveDigital adaptivedigital
FixedDigital fixeddigital
bool bEnable
Enable WebRTC's fixed digital gain. WebRTC's automatic gain control (AGC)
Configuration of WebRTC's level estimater.
bool bEnable
Enable level estimater. When enabled TeamTalkBase.GetSoundInputLevel() will return a value based on W...
Configuration of WebRTC's noise suppression. See also BearWare.SpeexDSP.
int nLevel
Noise suppression level. 0 = Low, 1 = Moderate, 2 = High, 3 = VeryHigh. Default: 1.
bool bEnable
Enable WebRTC noise suppression.
Configuration of WebRTC pre-amplifier.
bool bEnable
Enable pre-amplifier. Replacement for TT_SetSoundInputGainLevel()
float fFixedGainFactor
Gain factor. Default: 1.
Configuration of WebRTC's voice detection.
bool bEnable
Use WebRTC's voice detection to trigger BearWare.TeamTalkBase.OnVoiceActivation.
WebRTC's audio preprocessor.
GainController2 gaincontroller2
EchoCanceller echocanceller
VoiceDetection voicedetection
Preamplifier preamplifier
WebRTCAudioPreprocessor(bool set_defaults)
NoiseSuppression noisesuppression
LevelEstimation levelestimation
Default values for BearWare.WebRTCAudioPreprocessor.
const float DEFAULT_WEBRTC_EXTRA_SAT_MARGIN_DB
const float DEFAULT_WEBRTC_MAXGAIN_DBSEC
const float DEFAULT_WEBRTC_PREAMPLIFIER_GAINFACTOR
const bool DEFAULT_WEBRTC_NOISESUPPRESS_ENABLE
const bool DEFAULT_WEBRTC_VAD_ENABLE
const bool DEFAULT_WEBRTC_PREAMPLIFIER_ENABLE
const bool DEFAULT_WEBRTC_SAT_PROT_ENABLE
const bool DEFAULT_WEBRTC_GAINCTL_ENABLE
const float WEBRTC_GAINCONTROLLER2_FIXEDGAIN_MAX
const float DEFAULT_WEBRTC_GAINDB
const bool DEFAULT_WEBRTC_ECHO_CANCEL_ENABLE
const bool DEFAULT_WEBRTC_LEVELESTIMATION_ENABLE
const float DEFAULT_WEBRTC_INIT_SAT_MARGIN_DB
const float DEFAULT_WEBRTC_MAX_OUT_NOISE
const int DEFAULT_WEBRTC_NOISESUPPRESS_LEVEL